tschulian Geschrieben 11. Juni 2015 Geschrieben 11. Juni 2015 Hallo Liebe Gemeinde! Gerne möchte ich die für die User möglichen Titel einem Dropdown Menü zur verfügung stellen. Soweit klappt ja alles, nur leider wird statt dem "label" der richtige Name also z.B Administrator per POST in die $titleName Variable geschrieben. Hab schon alles probiert komme einfach nicht auf das Rätsels Lösung.. <?php echo "<br>Actually its not working - its just for testing. Thank you<br> Your actualy Title: <b>$titleold</b><br> <form name='form' method='POST'> <select name='titleName' size='1'> <optgroup label='Default Titles'> <option label='0'>No Title</option> <option label='10'>Member</option> </optgroup> <optgroup label='Job Titles'> <option label='11'>Titel 11</option> <option label='12'>Titel 12</option> <option label='13'>Titel 13</option> <option label='14'>Titel 14</option> <option label='15'>Titel 15</option> <option label='16'>Titel 16</option> </optgroup> <optgroup label='Miscellaneous Titles'> <option label='17'>Titel 17</option> <option label='20'>Titel 18</option> </optgroup> <optgroup label='Team Titles'> <option label='37'>Supporter</option> <option label='38'>Titel 38</option> <option label='39'>Titel 39</option> <option label='40'>Administrator</option> <option label='41'>Titel 41</option> </optgroup> </select><br> <input type='submit' value='Change Title'/> </form> "; $titleName = ($_POST['titleName']); echo "Hey <b>$_GET[username]</b>. Your new Title: <b>$titleName</b>"; ?>[/PHP] [b][size=3] Hier ein Beispiel: Statt Administrator sollte hier bei "Your new Title:" 40 stehen. [/size][/b] Zitieren
pr0gg3r Geschrieben 11. Juni 2015 Geschrieben 11. Juni 2015 Value statt label als Attribut im Option-Tag verwenden. Wenn kein Value-Attribut gesetzt wurde, wird der Anzeigetext verwenden (in dem Fall Administrator). Zitieren
tschulian Geschrieben 11. Juni 2015 Autor Geschrieben 11. Juni 2015 Hab ich Probiert, geht auch nicht :/ Zitieren
Memento Geschrieben 11. Juni 2015 Geschrieben 11. Juni 2015 Entgegen der weitläufigen (deutschen) Meinung heisst das englische "actual" im Deutschen nicht "aktuell" sondern "eigentlich".. Und wenn, dann müsste es "actually" heissen. Das "aktuell" oder "momentan" im Deutschen wird mit "currently" übersetzt. (Das soll kein Flame-Posting sein, aber es kann helfen, peinliche Momente beim Chef oder gar englischsprachigen Kunden zu vermeiden) pr0gg3r hat übrigens recht... statt "label" mach mal <option value="40">Administrator</option> Falls das "nicht geht", poste den geänderten Code bitte nochmal. Zitieren
tschulian Geschrieben 12. Juni 2015 Autor Geschrieben 12. Juni 2015 Ja, das englisch wird überbewertet. Ist für eine gamingcommunity die größtenteils aus arabern und türken besteht. von daher nicht weiter wichtig danke trotzdem. Hab es jetzt hinbekommen. Wie kann ich jetzt verhindern das jemand der sich etwas mit Browsern auskennt per WebKonsole die 40 z.B durch eine 50 ersetzt und das Formular dann abschickt? Gäbe es da Möglichkeiten? Zitieren
Memento Geschrieben 12. Juni 2015 Geschrieben 12. Juni 2015 Natürlich. Indem du den Bereich über eine Security-Suite (da du mit JSP arbeitest, empfehle ich SPRING Security) absicherst und ggf. ein RBAC (Role Based Access Control) einbaust. Alles, was in Javascript gemacht wird, kann (entsprechendes Wissen vorausgesetzt) recht einfach vom Client manipuliert werden. Ich würde (für den Anfang) bestimmte Rollen oder Rechte nur via DB zuweisen - sodass diese nicht über die Oberfläche geändert werden können. Später - falls relevant - würde ich dann einen abgesicherten Admin-Bereich für solche Tätigkeiten bauen. Aber aus deinen preisgegebenen Informationen ist mir noch nicht ganz ersichtlich, was du vorhast und kann dir dementsprechend im Gesamtkonzept nicht folgen und helfen. Security ist immer (!) serverseitig handzuhaben. Alles andere ist keine Security. Weil du im Client immer Manipulationsmöglichkeiten hast. Die bestehen am Server zwar auch, aber dazu muss erst jemand deinen Server knacken. Anekdote: Ich habe mal in einem Betrieb gearbeitet, die ihr RBAC maßgeblich mit obfuscated JavaScript umgesetzt haben und das als "sicher, weil es keiner identifizieren kann" deklariert haben. Als ich die nach 7 Minuten aus deren Testsystem ausgesperrt habe, sind manche Gesichter blass geworden.. Zitieren
feuerjinn Geschrieben 12. Juni 2015 Geschrieben 12. Juni 2015 Du könntest die Integrität der POST Anfrage mit einer Checksumme absichern. ZB SHA1 aus Value+Titel bauen und in einem Array auf PHP Seite abprüfen. Zitieren
tschulian Geschrieben 19. Juni 2015 Autor Geschrieben 19. Juni 2015 (bearbeitet) Die Forms kann man easy per Webconsole bearbeiten, ich weiß, das heißt manche können sich andere Title auswählen... Abgesichert hab ich das soweit, dass man zumindest keine SQL Querys statt der "Zahlen" abschicken kann. SQL Injection wird mit einer von mir entwickelten security Funktion bei jeglichen Clientangaben gecheckt. Bearbeitet 19. Juni 2015 von tschulian Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.