| | | | |
| | |
| PHP Code Flüsterer Registriert seit: 21.08.2005 Beiträge: 4682 PHP-Kenntnisse: Fortgeschritten | |
| | |||||
| Erfahrener Benutzer Registriert seit: 21.05.2008
Beiträge: 9.937
![]() | Bei aktiviertem magic_quotes wird nur addslashes() über die bekannten Super-Globalen, die vom User kommen ($_COOKIES, $_POST, $_GET, ??), ausgeführt. http://de.php.net/magic_quotes Zitat:
Zitat:
Zitat:
Wenn du nun an einen Server-Hoster kommst, der diese empfohlene Einstellung übernimmt und magic_quotes deaktiviert und du immernoch munter $_GET und $_POST Daten in deine Querys brätst, weil "kümmert sich ja PHP drum", bist du komplett ungeschützt. Dann klappen auch deine altbackenen Tricks (allerdings nicht der, der auch noch PHP-Code enthält, denn PHP-Code kannst du so natürlich nicht einschleusen. Da müsstest du schon eval() oder ähnliches ausführen). Daher kümmer dich selbst um die Validierung und verwende zum Beispiel folgendes Konstrukt: PHP-Code: Zitat:
Vielleicht interessiert dich noch dieser Artikel http://www.phpfriend.de/forum/ftopic51631.html | ||||
| |
| | |
| Erfahrener Benutzer Registriert seit: 09.02.2005
Beiträge: 256
![]() | Danke für deine Antwort! Habe mir mal eine kleine Klasse und ein Testscript erstellt (achte nun auch darauf jede Vriable zu initialisieren, als ob register_globals=off wär). Wenn jemand kurz drüberschauen könnte und ein Feedback geben könnte, ob man damit sicher programmieren könnte, wär ich dankbar dafür. PHP-Code: PHP-Code: Hätte zusätzlich noch eine Frage, ob es sinnvoller(sicherer) wär als value Wert den validierten Code zurückzugeben oder kann man auch den eingegebenen ohne bedenken eingeben? Grüße Matthias |
| |
| | |||||||||||
| Erfahrener Benutzer Registriert seit: 09.02.2005
Beiträge: 256
![]() | Zitat:
Zitat:
Zitat:
Zitat:
Zitat:
Zitat:
... Zitat:
Zitat:
Zitat:
PHP-Code: Zitat:
PHP-Code: bzg. PHP-Code: PHP-Code: Sorry wenn ich gerade leicht auf dem Schlauch stehe, hab bei google auch alles abgesucht, aber kam dabei zu keinem besseren Ergebnis als diesem... @Zergling...muss den Post erstmal durchlesen und es verstehne bevor ich drauf antworte, hattest geantwortet als ich shcon in der ANtwortfunktion war (braucht 40 min^^) | ||||||||||
| |
| | ||||
| Erfahrener Benutzer Registriert seit: 21.05.2008
Beiträge: 9.937
![]() | Klar, keine Eile. Eben hab ich wohl versehentlich den Firefox geschlossen, daher Kurzfassung hier zum Thema Zitat:
Zitat:
| |||
| |
| | ||
| Erfahrener Benutzer Registriert seit: 09.02.2005
Beiträge: 256
![]() | Hallo, sooo erstmal danke für deine Vebesserungsvorschläge, übrigens finde ich es immer gut wenn jemand was zu bemängeln hat, dass ist der einzige weg etwas dazuzulernen und etwas optimal zu programmieren :wink: Führe deine Verbesserungen gerne durch, zum Thema bzg. trim(): Wird, wenn ich insert... im phpMyAdmin durchführe mit Leerzeichen gespeichert...also anscheinend doch nicht. Zitat:
Wegen der Validierung in der Methode, hatte ich mir auch überlegt das ganze erst dort durchzuführen und hatte es soweit umgesetzt, jedoch sind die Variablen, werden diese in der Methode einegfügt, noch nicht validiert worden... somit ist doch eig. wieder ein Sicherheitsmangel, da man ohne weiteren die Methode schließen könnte und was anderes ausführen könnte oder?? Alternativ würde mir einfallen, dass die Daten zu beginn normal vbalidiert werden und bei einem Query nochmal extra für mysql validiert werden...meinst du zufällig das? Ansonsten war der Link sehr hilfreich...wusste ich zuvor noch gar nicht.[/code] | |
| |
| | |
| Erfahrener Benutzer Registriert seit: 21.05.2008
Beiträge: 9.937
![]() | Ja ist halt so die Frage ob man sich eher an die Richtlinie halten möchte, Daten atomar zu übergeben oder ob man lieber kurz und knackig Code schreibt. Ich machs meistens so, dass ich beides akzeptiere und den String dann vor dem eigentlichen Funktionsblock in einen Array umwandle. Etwa so: PHP-Code: PHP-Code: Ist aber vielleicht auch so ne Sache, wo man sich als Programmierer viel zu viel unsinnige Gedanken machen kann |
| |
| | |
| Erfahrener Benutzer Registriert seit: 09.02.2005
Beiträge: 256
![]() | mhh..letztendlich muss ich jedoch das array mit z.B. implode wieder zusammenfügen, damit ich es in der select-Anweißung angeben kann oder? Kenne keine Funktion die das ganze Array ohne Schleifen komplett ausgeben kann... oder verstehe ich was falsch? |
| |
| Themen-Optionen | |
| Thema bewerten | |
|
|
LinkBacks (?)
LinkBack to this Thread: http://www.php.de/php-tipps-2007/44213-sql-injection-durchfuehren.html | ||||
| Erstellt von | For | Type | Datum | |
| ilch.de :: Forum :: Eigener Admin Bereich :: Beiträge zeigen | This thread | Refback | 15.08.2008 20:28 | |
| ilch.de :: Forum :: Eigener Admin Bereich :: Beiträge zeigen | This thread | Refback | 15.08.2008 19:17 | |
Ähnliche Themen | ||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| Regex gegen Sql Injection | notyyy | PHP-Fortgeschrittene | 8 | 20.10.2007 17:57 |
| MySQL injection: mysql_real_escape_string | tekknotrip | PHP Tipps 2006 | 5 | 07.07.2006 11:46 |
| [Erledigt] Dependency/Property Injection | Off-Topic Diskussionen | 1 | 18.05.2006 10:52 | |
| SQL - Injection | Stümper | Datenbanken | 1 | 30.05.2005 06:36 |
| mysql injection wirkungsvoll verhindern | PHP Tipps 2005 | 4 | 09.04.2005 18:08 | |
| SQL Injection Frage | Ypsillon | PHP Tipps 2004-2 | 3 | 31.12.2004 00:30 |
| Injection / XSS | PHP Tipps 2004-2 | 4 | 22.11.2004 10:08 | |
| Besucher kamen über folgende Suchanfragen bei Google auf diese Seite |
| was bedeutet htmlentities(trim, sql injection anleitung, sql injection durchführen, ilch sql injection, php sql injection, sql injection ausführen, mysql_fetch_object sql injection, sql injection with stripslashes, sql injections durchführen, sql injektionen durchführen, html_entity_decode sql, wo kann man mysql injektion durchführen ?, sql injection bei ilch, http://www.php.de/php-tipps-2007/44213-sql-injection-durchfuehren.html, mysql_fetch_object() injection, ilch script sql injection, sicherheitstest online mysql, sql-injection durchführen, sql injection mit php durchführen, unterschied php injection sql |

Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.