2008-10-24 17 views
5
hinzugefügt

Meine crappy Web-Host hat einige Upgrades vor ein paar Tagen und einige Einstellungen sind schief gelaufen, weil in unserem Unternehmen Wiki (MediaWiki), wird jedes Zitat mit einem Backslashes entkommen. Es sind nicht nur die Daten, die gepostet werden (zB die Artikel), sondern auch der Standard-MediaWiki-Text. zB:Zusätzliche Backslashes in PHP

Sie haben einen Link zu einer Seite gefunden, die noch nicht existiert. Um die Seite zu erstellen, beginnen Sie mit der Eingabe in das folgende Feld (weitere Informationen finden Sie auf der Hilfeseite). Wenn Sie versehentlich hier sind, klicken Sie einfach auf Ihren Browser \ '\' \ 'Zurück \' \ ''.

Das erste, was ich tat, war disable magic_quotes_gpc UND magic_quotes_runtime eine .htaccess Datei verwenden, aber dies geschieht noch. Mein php_info() meldet dies:

Setting    Local Value Master Value 
magic_quotes_gpc  Off   On 
magic_quotes_runtime Off   On 
magic_quotes_sybase  Off   Off 

Irgendwelche Ideen?

Antwort

1

Wenn PHP-Flags mit php_admin_flag/php_admin_value festgelegt sind, können Sie es nicht von einer .htaccess-Datei ändern. Das hat mir einige Kopfschmerzen bereitet. Entweder deaktivieren Sie es in php.ini oder rückgängig zu machen magic quotes in Laufzeit: http://talks.php.net/show/php-best-practices/26

0

Vielleicht ruft etwas anderes set_magic_quotes_runtime() auf.

1

Sie müssen sie dazu bringen, den Masterwert zu ändern oder selbst zu handhaben. Ich glaube nicht, dass Sie magic_quotes_gpc() zur Laufzeit für Super Globals setzen können. (Einstellung zur Laufzeit werden die Dinge wie Datenbank/Dateien abzustreifen, aber nicht die Globals)

if (ini_get('magic_quotes_gpc')) { 
    foreach($_GET as $key=>$value) { 
    $_GET[$key] = stripslashes($value); 
    } 
} // etc... 
+0

dies hat nichts mit register globals zu tun. Das Einstellen der php_flag über .htaccess ist auch nicht "runtime", dachte ich. – nickf

+0

er oops ich meine magic_quotes_gpc, das ist ini_perdir (virtueller host/php.ini), so .htaccess würde nicht funktionieren, – Owen

+0

Das funktioniert nicht, wenn Sie ein Array wie URL.php übergeben? A [] = 1 & a [ ] = 2 –

4

Möglicherweise möchten Sie bestätigen, dass die Daten in Ihrem DB beschädigt nicht. Wenn Sie addslash() waren, ohne Ihre magic_quotes zu aktivieren, würden Sie die Daten doppelt in Ihre DB einsortieren.

-1

Haben Sie versucht, Ihre crappy Gastgeber kontaktieren und einen Fehlerprotokollierung? Sie sind wahrscheinlich nicht der einzige Betroffene, wenn Sie Shared Hosting betreiben.

Verwandte Themen