Auf einigen PHP-Servern sind die sogenannten Magic Quotes per default aktiviert.
Was sind Magic Quotes?
Magic Quotes sorgen zum Beispiel bei Einträgen in einer MySQL-Datenbank dafür das Zeichen wie ” und ‘ automatisch escaped werden. Mit andern Worten, es kommt automatisch ein \ davor, so dass dann in der Datenbank \” oder \’ steht.
Dies kann unter Umständen zu ungewollten Effekten führen, zum Beispiel wenn der Eintrag in die Datenbank wirklich auszuführenden Quellcode beinhalten soll.
Somit ist es also sinnvoller selbst zu kontrollieren was wann und vor allem wo escaped wird.
Eine Möglichkeit bietet die .htaccess-Datei diese Magic Quotes “los zu werden”.
1 2 3 4 5 6 7 | ## # PHP5 Einstellungen ## <ifmodule mod_php5.c> # disable magic quotes for php request vars php_flag magic_quotes_gpc off </ifmodule> |
Dies funktioniert natürlich nur bei PHP5 Servern.
Ansonsten bietet die php.ini ebenfalls die Möglichkeit Magic Quotes zu deaktivieren.
1 2 3 4 5 | ; magic_quotes_gpc ; Default Value: On ; Development Value: Off ; Production Value: Off magic_quotes_gpc off |
Warum Magic Quotes deaktivieren?
Dazu ein Zitat von php.net zu diesem Thema
Warnung:
Dieses Feature ist seit PHP 5.3.0 DEPRECATED (veraltet) und wird in PHP 6.0.0 ENTFERNT. Sich auf dieses Feature zu verlassen ist in keiner Weise empfehlenswert.



