ホームページ >バックエンド開発 >PHPチュートリアル >php.ini にアクセスできない共有ホスティング環境で Magic Quotes GPC を無効にするにはどうすればよいですか?

php.ini にアクセスできない共有ホスティング環境で Magic Quotes GPC を無効にするにはどうすればよいですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-11-25 22:51:10227ブラウズ

How Can I Disable Magic Quotes GPC in a Shared Hosting Environment Without php.ini Access?

PHP.ini に直接アクセスできない共有ホスティング環境でマジック クォートを無効にする

多くの共有ホスティング プロバイダーでは、php.ini ファイルを変更する機能が無効になっているため、ユーザーはこれを妨げる可能性がありますMagic Quotes GPC を無効にしないでください。この設定では、ユーザーが送信したデータ内の文字が自動的にエスケープされ、データの処理で問題が発生します。

php.ini にアクセスせずに Magic Quotes GPC を無効にするには、次の解決策を検討してください:

カスタムphp.ini

一部の共有ホスティング環境では、ユーザーがカスタム php.ini ファイルを作成できます。たとえば、suexec/FastCGI セットアップでは、Web スペースごとの php.ini が利用できる場合があります。このカスタム php.ini ファイルに「magic_quotes_gpc = Off」という行を追加すると、デフォルト設定をオーバーライドできます。

.htaccess ファイル

カスタム php.ini の場合ini はオプションではありません。次のコードを .htaccess に追加してみてください。 file:

AddType x-mapp-php5 .php
php_flag magic_quotes_gpc 0

値は、「大文字の o」を表す「O」ではなく、「オフ」を表す「0」である必要があることに注意してください。

Ini_set() Function

ini_set() は、magic_quotes_gpc の値を直接変更することはできません (これは

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 );
}

このスクリプトは、Magic Quotes GPC が有効かどうかを確認し、$_POST、$_GET、$_COOKIE 配列からスラッシュを削除することでその効果を元に戻します。

以上がphp.ini にアクセスできない共有ホスティング環境で Magic Quotes GPC を無効にするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。