2012-03-31 47 views
0

可能重複:
Best way to stop SQL Injection in PHP
The ultimate clean/secure function我的逃生功能是否真的安全?

我的網站是通過SQL注入攻擊,現在我需要改善它。我在PHP escape()中創建一個函數,它返回字符串的轉義版本。我不是黑客,所以請幫助我改善我的逃生功能。這是當前版本:

function escape($string){ 

    $string = stripslashes($string); 
    $string = mysql_real_escape_string($string); 
    $string = strip_tags($string); 
    $string = str_replace('%','',$string); 
    $string = str_replace('_','',$string); 

    return $string; 

} 

我的問題是:這是破解的,如果不是如何解決?謝謝!

+3

坦率地說,這很可怕。它是一個隨意的替換集合,不需要考慮數據的可能性或可​​能放置的位置。 – Quentin 2012-03-31 15:58:14

+0

爲了防止用戶輸入插入到其他地方(例如HTML文檔,JavaScript塊或電子郵件或PDF等)時發生攻擊,請專門研究這些攻擊。沒有全球靈丹妙藥。 – Quentin 2012-03-31 15:59:35

+0

除了'mysql_real_escape_string'之外,你的例子中的所有函數都沒有任何意義(如果你有魔術引號,'stripslashes'會有一定意義_only_)。 – 2012-03-31 16:01:10

回答

-1

此功能與安全性完全無關。
它幾乎不能保護您免受某些種類的XSS注射。就這樣。