-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 回答