Maison >développement back-end >tutoriel php >Comment puis-je désactiver les guillemets magiques sur l'hébergement partagé lorsque php.ini est inaccessible ?

Comment puis-je désactiver les guillemets magiques sur l'hébergement partagé lorsque php.ini est inaccessible ?

Susan Sarandon
Susan Sarandonoriginal
2024-12-05 08:24:101013parcourir

How Can I Disable Magic Quotes on Shared Hosting When php.ini Is Inaccessible?

Désactivation des guillemets magiques sur l'hébergement partagé

Lors de l'utilisation de l'hébergement partagé, vous pouvez être confronté à des limitations pour accéder à php.ini pour désactiver les guillemets magiques de PHP. Cela peut être frustrant si vous rencontrez des erreurs internes du serveur lorsque vous essayez d'utiliser .htaccess ou ini_set().

Pour surmonter ces limitations, envisagez les approches suivantes :

Php.ini personnalisé

Certains environnements d'hébergement partagé vous permettent de créer un fichier php.ini personnalisé. Cela peut être fait en ajoutant la ligne suivante à votre fichier .htaccess :

php_admin_value magic_quotes_gpc off

.htaccess Configuration

Si vous n'avez pas accès au php.ini , vous pouvez essayer de modifier directement .htaccess. Cependant, notez que l'utilisation de php_flag peut entraîner une erreur 500. Utilisez plutôt la directive php_value :

php_value magic_quotes_gpc off

ini_set() Limitations

L'utilisation de ini_set('magic_quotes_gpc', 'O') est inefficace car les valeurs valides pour ce paramètre est vrai/faux, 1/0 ou "on"/"off".

ini_set( 'magic_quotes_gpc', 0 );   // doesn't work

Paramètres INI par répertoire

magic_quotes_gpc est un paramètre par répertoire, ce qui signifie que vous ne pouvez pas le modifier à l'aide de ini_set( ). Pour modifier ce paramètre, vous pouvez utiliser .htaccess ou implémenter un script pour supprimer les effets des citations magiques :

if ( in_array( strtolower( ini_get( 'magic_quotes_gpc' ) ), array( '1', 'on' ) ) )
{
    $_POST = array_map( 'stripslashes', $_POST );
    $_GET = array_map( 'stripslashes', $_GET );
    $_COOKIE = array_map( 'stripslashes', $_COOKIE );
}

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn