ユーザーの入力からバックスラッシュを削除するにはどうすればよいですか

StackOverflow https://stackoverflow.com/questions/4307293

  •  29-09-2019
  •  | 
  •  

質問

私はこれにぼやけています:p

function escape($string)
{
    $string = stripslashes($string);

    if (function_exists('mysql_real_escape_string')) {
       return mysql_real_escape_string($string, $this->connection);
    } else {
        return mysql_escape_string($string);
    }
}

$content = '""""""test\'te%%%%st`test_huhu\'_';

echo '<br>output 1 = '.stripslashes($content);
echo '<br>output 2 = '.$db->escape($content);

出力

output 1 =  """"""test'te%%%%st`test_huhu'_
output 2 =  \"\"\"\"\"\"test\'te%%%%st`test_huhu\'_ 

作り方 output 2 同じになります output 1 そしてなぜ output 2 そのようになる?

役に立ちましたか?

解決

mysql_real_escape_string すべてを逃れます "' それがあなたがそれらすべてのスラッシュを得る理由です。データをデータベースに配置する前にスラッシュを削除すると、セキュリティにとって非常に悪い攻撃用に開いていますか?

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top