2010-11-29 73 views
-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要那样?

+2

我不明白你在问什么。输出2的所有引号都用`mysql_real_escape_string()`转义。如果这不是你想要的,不要这样做。 – Jonah 2010-11-29 19:35:55

回答

4

mysql_real_escape_string转义全部"'这就是为什么你得到所有这些斜线。如果你在将数据存入数据库之前删除了斜线,那么对于安全性来说 对于安全性来说是非常糟糕的,你是不是觉得呢?