Sichere Datenabfrage ?? - Druckversion +- net-board.net Archiv (https://net-board.net) +-- Forum: Deine eigene Homepage (https://net-board.net/forumdisplay.php?fid=26) +--- Forum: Scriptsprachen (+Datenbanksysteme) (https://net-board.net/forumdisplay.php?fid=19) +--- Thema: Sichere Datenabfrage ?? (/showthread.php?tid=5759) |
Sichere Datenabfrage ?? - Futjikato - 04.02.2008 Wollte mal fragen ob folgendes Script sicher ist oder ob ihr da eine möglichkeit für header injections seht ?? Code: if(!$_POST["name"]){ - pattex - 04.02.2008 Wieso fragst du denn sowas wie klettern nochmal ab? Code: if(!$_POST["klettern"]){ Ich denke mal du hast da doch ein Formular mit Checkboxen. Dann wird doch sowieso ne 1 oder ne 0 übertragen. Ist einfacher als "ja" oder "nein" In der Datenbank würde ich auch nur 1 oder 0 sichern und nicht "ja" oder "nein". - Futjikato - 04.02.2008 ja das ding ist das die datenbank von jemandem ausgelsesen wird der da nunmal ja oder nein stehen haben will frag mich nicht warum aber auftrag ist auftrag :zwinker: - kickedINtheHEAD - 04.02.2008 Ich würds so nicht online stellen *fg* htmlspecialchars dürft zwar einiges abfangen, aber um wirklich sicher zu sein solltest mysql_real_escape_string verwenden. http://at.php.net/manual/en/function.mysql-real-escape-string.php Außerdem ist dei Error Handling wirklich etwas eigenartig. Wieso machst du für jeden Error ne eigene Variable? Viel einfacher würds gehn wennst alle in ein Array schreibst. ($error[]="Fehler"). Unten fragst dann einfach ab ob $error gesetzt ist oda nicht. Wenn ja gabs zumindest einen Fehler, dann gibst das einfach alles mit for each aus. Wenns nicht gsetzt ist, sollt alles in Ordnung sein. Damit ersparst dir das $check und brauchst nur ein $error Array. - Futjikato - 04.02.2008 stimmt .... aber so ist es schon fertig und danke für den funktions tipp - kickedINtheHEAD - 04.02.2008 Noch ein paar Kleinigkeiten. Bei dem regulären Ausdruck statt {4,4} reicht es auch nur {4} Außerdem ist ==0 und ==1 bei den Abfragen nicht wirklich schön. ==1 kannst gleich direkt weglassen und ==0 einfach vorne die Funktion negieren. Ajo du checkst nur das Geburtsjahr, da kann ich dir über den Rest einschleußen was ich will (Drop Down Boxen sind da kein Hinderniss). Leere Variablen kann ich übrigens au übergeben. Du checkst immerhin nur ob eine Variable gesetzt ist, nicht ob ihr ein Wert zugewiesn wurde. - Futjikato - 04.02.2008 jo danke und vielen dank für deine tipps und hilfen. Werde versuchen alles zu verbessern. :respekt: So alles verbessert .... hoffe das ganze KÖNNTE jetzt so online gehen ohne das ich irgendwelche angriffe zu befürchten habe ? Hab mal den QC oben aktualisiert. - kickedINtheHEAD - 05.02.2008 Jo sollt grundsätzlich alles passen. Mal schaun wenn ich Zeit hab dann zeig ich dir wie ich das lösen würd |