コード例:
コードをコピーします コードは次のとおりです:
@set_magic_quotes_runtime(0);
$MQG = get_magic_quotes_gpc();
if(!$MQG && $_POST) $_P OST) ;
if(!$MQG && $_GET) $_GET = godslashes($_GET);
//変換文字関数
function kiddslashes($string) {
if(!is_array($string)) addslashes($string );
foreach($string as $key => $val) $string[$key] = maddslashes($val)
}
PHP は、これを容易にする 2 つのマジックを提供します。データを引用するには、magic_quotes_gpc および magic_quotes_runtime の参照関数を使用します。これら 2 つの関数が php.ini で ON に設定されている場合、引用するデータに単一引用符 '、二重引用符 '、およびバックスラッシュが含まれる場合、自動的にバックスラッシュが追加されます。これは役立ちます。ただし、異なるバージョンの PHP や異なるサーバー構成では、magic_quotes_gpc と magic_quotes_runtime の一部はオンに設定され、一部はオフに設定されるため、作成するプログラムはオンとオフに準拠する必要があります。では、magic_quotes_gpc 関数と magic_quotes_runtime 関数の違いは何ですか? 次の説明を参照してください:
magic_quotes_gpc と magic_quotes_runtime 関数の違い
スコープ: Web クライアントサーバー
アクション時間: リクエストたとえば、スクリプトの実行時です。
magic_quotes_runtime
スコープ: ファイルから読み取られたデータ、または SQL クエリから取得されたデータ。
アプリケーション時間: 実行状態で生成されたデータにアクセスするたびです。 magic_quotes_gpc の値は、Get/Post/Cookies を通じて取得されるデータに影響します。 magic_quotes_runtime の設定値は、ファイルから読み取られるデータ、またはデータベース クエリから取得されるデータに影響します
例:
コードをコピーします。コードは次のとおりです:
$data1 = $_POST['aaa'];
$data2 = implode(file('1.txt')); if(get_magic_quotes_gpc()){ //Put Data $ data1 はデータベースに直接書き込まれます (自動変換) }else{
$data1 = addslashes($data1)
//データ $data1 をデータベースに書き込み、関数 (addslashes() を使用して変換します)
}
if ( get_magic_quotes_runtime()){
//データ $data2 をデータベースに直接書き込みます (自動翻訳)
//データベースから読み取ったデータは、stripslashes() の後に一度出力する必要があります。stripslashes() の機能は以下を削除することです。 、およびaddslashes() 逆の効果
}else{
$data2 =addslashes($data2)
//データ$data2をデータベースに書き込みます
//データベースから読み取られたデータは直接出力されます
}
最も重要な違いは上記の 2 点です: これらは異なる処理オブジェクトを対象とします。 magic_quotes_gpc の設定値は、Get/Post/Cookies を通じて取得されるデータに影響します。データベースから取得したデータ
ここで関連付ける関数について説明します。
set_magic_quotes_runtime():
デフォルトの状態は、magic_quotes_runtime 値を 0=off に設定します。オフ。
get_magic_quotes_gpc():
magic_quotes_gpc 値を表示します。 0=off.1=on
get_magic_quotes_runtime():
magic_quotes_runtime 値を表示します。 0=オフ、1=オン。
set_magic_quotes_gpc() 関数がないことに注意してください。つまり、magic_quotes_gpc の値はプログラム内で設定できません。
http://www.bkjia.com/PHPjc/326190.html
www.bkjia.com
true
http://www.bkjia.com/PHPjc/326190.html
技術記事
コード例: 次のようにコードをコピーします: @set_magic_quotes_runtime(0); $MQG = get_magic_quotes_gpc(); if(!$MQG $_POST) $_POST = kiddslashes($_POST);パパズル ...