-1

私はこれにぼやけています: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ですか?

4

1 に答える 1

4

mysql_real_escape_string"すべてをエスケープする'ため、これらすべてのスラッシュが表示されます。データをデータベースに入れる前にスラッシュを削除すると、セキュリティ上非常に悪い攻撃を受けやすくなると思いませんか?

于 2010-11-29T19:35:49.400 に答える