我对这个模糊了: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
为何如此?
答案 0 :(得分:4)
mysql_real_escape_string
转义所有"
和'
这就是为什么你得到所有这些斜杠。如果在将数据放入数据库之前删除斜杠,则会打开以进行攻击
安全性非常糟糕你不觉得吗?