2010-11-29 64 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轉義全部"'這就是爲什麼你得到所有這些斜線。如果你在將數據存入數據庫之前刪除了斜線,那麼對於安全性來說 對於安全性來說是非常糟糕的,你是不是覺得呢?