2010-12-05 9 views
0

私はcPanel/Whm/CentOS 5.5でvpsを持っており、問題はサーバに送信されるすべてのパラメータがaddslashedであることです。PHP設定をチェックしたところ、すべてのマジッククォートがオフになっています私はこれを引き起こす原因を知らない。

私のコードはとてもきれいで、私はそれのすべてのビットを知っていると私は、任意のaddslashes()またはこれらの機能のいくつかの並べ替えを持っていません。私は彼らのようにパラメータを受け取るだけです。

URL: test.php?text=blah" ' " 'blah 

<?php 
echo $_GET["text"]; // Output blah\" \' \" \'blah 
?> 

これをオフにする方法はありますか?

おかげ

答えて

3

それは(これはそれをオフにする最初の場所である)あなたのphp.iniのmagic_quotes_gpc変数です。あなたは本当にあなたが正しいファイルを見ていることを確認する必要があります。

また、.htaccessファイルや、私は信じて、実行時にそれをオフにすることができます。しかし、あなたのホストがあなたにこれらのことのどちらかをさせないなら、あなたは現在の設定に関係なく言葉になる次の機能を使うことができます。

if(get_magic_quotes_gpc()) { 

    $_POST  = array_map('stripslashes_deep', $_POST); 
    $_GET  = array_map('stripslashes_deep', $_GET); 
    $_COOKIE = array_map('stripslashes_deep', $_COOKIE); 
    $_REQUEST = array_map('stripslashes_deep', $_REQUEST); 
} 

function stripslashes_deep($value) { 

    return (is_array($value) ? array_map('stripslashes_deep', $value) : stripslashes($value)); 
} 
+0

ありがとうございましたが、私はすでに魔法の引用符をオフにしました。 – Ryan

+0

あなたは本当にあなたが正しいファイルを見ていることを確認する必要があります。 phpinfo()を使用して、使用されたphp.iniの場所を含め、現在の設定をすべて出力します。おそらく設定はphp.iniではなく、実行時に設定されていました。これはphpinfo()の出力でも見えるはずです。 var_dump(get_magic_quotes_gpc())を使ってmagic_quotes設定の現在の値を取得することもできます。 – ontrack

+0

ありがとう!前に、私はWHMでPHPの設定のセクションをチェックアウトしていると私は、マジッククオートが、私はそれが既にオフだということが分かったが、それはないですが、私は再びそれを保存しなければならなかったGPC編集するクリック – Ryan

1

それは「magic quotes」と呼ばれる(非推奨)セキュリティ機能だし、それをオフにすることが可能です。

関連する問題