Du befindest Dich im Archiv vom ABAKUS Online Marketing Forum. Hier kannst Du Dich für das Forum mit den aktuellen Beiträgen registrieren.

addslashes richtig einsetzen

Ajax, Hijax, Microformats, RDF, Markup, HTML, PHP, CSS, MySQL, htaccess, robots.txt, CGI, Java, Javascript usw.
Neues Thema Antworten
smilla
PostRank 5
PostRank 5
Beiträge: 268
Registriert: 28.07.2008, 19:14

Beitrag von smilla » 29.07.2008, 13:36

Hi,

auf meiner Seite habe ich bisher addslashes immer verwendet, wenn ich etwas in die datenbank geschrieben habe. Auch wenn ich Daten über GET und POST empfangen habe.

Da es mit ausländischen Namen (Namen mit ') dennoch Probleme gab, habe ich mich auf die Fehlersuche gemacht und dies gefunden aus der PHP Manuel (https://www.php.net/addslashes) gefunden:

"Die PHP-Direktive magic_quotes_gpc hat standardmäßig den Wert on, so dass grundsätzlich die Funktion addslashes() auf alle GET-, POST- und COOKIE-Daten angewendet wird. Verwenden Sie daher die Funktion addslashes() nicht, wenn Strings bereits durch magic_quotes_gpc escaped wurden, ansonsten erhalten Sie doppeltes Escaping. Um herauszufinden, ob der Parameter aktiviert ist, verwenden Sie am Einfachsten die Funktion get_magic_quotes_gpc()."

Okay, nun ist es logisch, wieso es bei mir nicht geht. Ich lesen also weiter und lande hier:

https://www.php.net/manual/de/info.conf ... quotes-gpc

" magic_quotes_gpc boolean
Warnung: Dieses Feature ist DEPRECATED (veraltet) und wird in PHP 6.0.0 ENTFERNT. Sich auf dieses Feature zu verlassen ist in keiner Weise empfehlenswert."

Okay, verstehe ich auch. Meine Frage ist nun was soll ich machen.

Wenn ich überall wo ich GET und POST verwendet einfach das addslashes entferne, würde mein Script auf Seiten nicht laufen, die die Einstellung anders haben (Keine Ahnung ob viele die Einstellung haben). Andernfalls weiß ich nicht, wie es in php6 sein wird, da die Einstellung ja wegfällt. Wird addslashes da dennoch bei GET und POST ausgeführt?

Oder sollte ich zwei für GET und POST mir eine addslashes2 funktion bauen, die erst die Einstellung abfragt und dann entweder nen addslashes macht oder nicht? Aber die Hilfe sagt, man soll sich nicht darauf verlassen.

Was sollte ich am besten anstellen?

Smilla