コード例:
コードをコピー コードは次のとおりです。
@set_magic_quotes_runtime(0); get_magic_quotes_gpc() ;
if(!$MQG && $_POST) $_POST = パパスラッシュ($_POST)
if(!$MQG && $_GET) $_GET = パパスラッシュ($_GET); 🎜>
//翻訳文字関数
function goddslashes($string) {
if(!is_array($string)) returnaddslashes($string)
foreach($string as $key = > $ val) $string[$key] = godslashes($val);
return $string>}
PHP には、便利な 2 つの魔法の参照関数が用意されています。データを参照するために、magic_quotes_gpc と magic_quotes_runtime を使用すると、php.ini でこれら 2 つの関数が ON に設定されている場合、引用するデータに一重引用符 ' と二重引用符 " およびバックスラッシュが含まれる場合に自動的にバックスラッシュが追加され、記号を自動的に変換して確実にただし、PHP のバージョンやサーバー構成が異なると、一部の magic_quotes_gpc と magic_quotes_runtime がオフに設定されるため、作成するプログラムはオンとオフの両方に準拠する必要があります。 magic_quotes_gpc と magic_quotes_runtime の違いは次の説明を参照してください:
$data1 = $_POST['aaa']; $data2 = implode(file('1.txt'));
if(get_magic_quotes_gpc ()){//データ $data1 をデータベースに直接書き込みます (自動変換)
}else{
$data1 = addslashes($data1)
//データ $data1 をデータベースに書き込み、関数を使用します (addslashes() 変換)
}
if(get_magic_quotes_runtime()){
//データ $data2 をデータベースに直接書き込みます (自動翻訳)
//From データベースから読み取ったデータを出力する必要がありますこれは、addslashes()
}else{
$data2 =addslashes($data2)
/ /Write data $; の逆です。 data2 into the database
//データベースから読み取ったデータを直接出力します
}
最も重要な違いは、上記の 2 点です: 対象となる処理オブジェクトが異なります
magic_quotes_gpc の設定値は、Get/Post/Cookies を通じて取得されるデータに影響します
magic_quotes_runtime の設定値は、ファイルから読み取られたデータ、またはデータベース クエリから取得されたデータに影響します データ