2008-10-24 6 views
5

Mon hôte merdique web fait quelques améliorations, l'autre jour et certains paramètres ont a mal tourné, parce qu'en regardant le wiki de notre société (MediaWiki), chaque citation est échappé avec un anti-slash. Ce ne sont même pas seulement les données qui sont en cours de publication (c'est-à-dire les articles) qui sont affectées, mais aussi le texte standard de MediaWiki. par exemple:antislashs supplémentaires ajoutés en PHP

Vous avez suivi un lien vers une page qui n'existe pas encore. Pour créer la page, commencez à taper dans la boîte ci-dessous (voir la page d'aide pour plus d'informations). Si vous êtes ici par erreur, cliquez simplement sur le bouton \ '\' \ back \ '\' \ 'de votre navigateur.

La première chose que je ne faisais que désactiver magic_quotes_gpc ET magic_quotes_runtime en utilisant un fichier .htaccess, mais cela est toujours en cours. Mon php_info() signale ceci:

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

Des idées?

Répondre

1

Si les indicateurs PHP sont définis avec php_admin_flag/php_admin_value, vous ne pouvez pas le modifier à partir d'un fichier .htaccess. Cela m'a causé quelques maux de tête avant. Désactivez dans php.ini ou défaire les guillemets magiques dans l'exécution: http://talks.php.net/show/php-best-practices/26

0

Quelque chose d'autre appelle peut-être set_magic_quotes_runtime().

1

Vous devrez les amener à modifier la valeur principale ou à la gérer vous-même. Je ne crois pas que vous pouvez définir magic_quotes_gpc() à l'exécution pour les super globales. (Réglage lors de l'exécution dépouillera des choses comme la base de données/fichiers, mais pas les GLOBALS)

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

cela n'a rien à voir avec register globals. Définir le php_flag via .htaccess n'est pas non plus "runtime", pensais-je. – nickf

+0

er oops je veux dire magic_quotes_gpc, qui est ini_perdir (hôte virtuel/php.ini), donc .htaccess ne fonctionnerait pas sur cela – Owen

+0

Cela ne fonctionne pas si vous passez un tableau comme url.php? A [] = 1 & a [ ] = 2 –

4

Vous pouvez confirmer que les données dans votre base de données n'a pas été corrompu. Si vous étiez addslash() avec vos données alors que, à votre insu, magic_quotes avait été activé, vous donneriez deux fois plus de données à votre DB.

-1

Avez-vous essayé de contacter votre merdique hôte et l'enregistrement d'une faute? Vous n'êtes probablement pas le seul à être affecté si vous êtes hébergé en partage.

Questions connexes