PHP でバックスラッシュを削除する方法と PHP マジック クオートを閉じる 3 つの方法

WBOY
リリース: 2016-06-20 13:05:06
オリジナル
1146 人が閲覧しました

PHP でバックスラッシュを削除する方法と php マジック クオートをオフにする 3 つの方法

一般的なスペース プロバイダーが提供するサーバー スペースのデフォルトの PHP コマンド magic_quotes_gpc はオン、つまりオンになっています。この時点で、stripslashes() 関数を使用して、自動的に追加されたバックスラッシュを削除できます。

使用法は次のとおりです。たとえば、文字列を含む変数は $str で、次に、stripslashes() 関数を使用して文字列を処理します。stripslashes($str)、出力結果はバックスラッシュを削除します。

出力結果にバックスラッシュが含まれている場合は、stripslashes() 関数を使用して出力内容 ($str=stripslashes($str)) を処理し、バックスラッシュを削除して保存できます。しかし、別の問題があります。つまり、ローカルの PHP コマンド magic_quotes_gpc がオフになっているため、この関数を使用すると、通常のバックスラッシュが削除されてしまいます。

これは私たちが望んでいることではありません。解決策は、関数 get_magic_quotes_gpc() を使用してそれを検出することです。開いた状態の場合、バックスラッシュは削除されます。閉じた状態の場合、バックスラッシュは削除されません。

プログラム コードは次のとおりです。

$str=$_POST["str"];           //读取str的内容赋值给$str变量<br />if(get_magic_quotes_gpc()){   //如果get_magic_quotes_gpc()是打开的<br />    $str=stripslashes($str);  //将字符串进行处理<br />} 
ログイン後にコピー

この問題を解決するには、次の 3 つの方法があります。

1. PHP 構成を変更します。 file php.ini

この方法は、サーバーを管理する権限がある場合にのみ適しています。仮想空間を使用する場合は、最後の 2 つの方法のみを使用できます。

PHP 設定ファイル php.ini で、magic_quotes_gpc、magic_quotes_runtime、magic_quotes_sybase をすべてオフに設定します。

は次のとおりです。

magic_quotes_gpc = Off<br /> <br />magic_quotes_runtime = Off<br /> <br />magic_quotes_sybase = Off
ログイン後にコピー

2. .htaccess ファイルを使用します

この方法は、サーバーが htaccess Now サーバーをサポートしている場合にのみ機能します。通常は

をサポートします。プログラム ディレクトリの .htaccess ファイルに次の文を追加します:

php_flag magic_quotes_gpc Off
ログイン後にコピー

3. コード内の

をシールドします。この方法は最も移植性が高く、PHP をサポートしていればサーバー構成を考慮せずに使用できます。

すべての PHP ファイルの先頭に次のコードを追加します

if(get_magic_quotes_gpc()){<br />function stripslashes_deep($value){<br />$value=is_array($value)?array_map('stripslashes_deep',$value):stripslashes($value);<br />return $value;<br />}<br />$_POST=array_map('stripslashes_deep',$_POST);<br />$_GET=array_map('stripslashes_deep',$_GET);<br />$_COOKIE=array_map('stripslashes_deep',$_COOKIE);<br />$_REQUEST=array_map('stripslashes_deep',$_REQUEST);<br />}
ログイン後にコピー


関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!