Magic Quotes umgehen bzw. abschalten

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.

Werbung

WISE SEO Tools

Über H.-Peter Pfeufer

Ich bin Webentwickler/ -programmierer aus Leidenschaft, WordPressbegeistert und ab und an auch mal ein netter Mensch.
Vor allen schreibe ich über alles was mit den Themen Webentwicklung/ -programmierung und WordPress zu tun hat. Nebenher auch mal einige Gedanken zu allgemeineren Themen.

Kategorie(n): Tipps und Tricks
Tags: , , ,
Setze ein Lesezeichen auf den Permalink.

Hinterlasse eine Antwort

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *

*

 

Du kannst folgende HTML-Tags benutzen: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>