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;
}
我的問題是:這是破解的,如果不是如何解決?謝謝!
坦率地說,這很可怕。它是一個隨意的替換集合,不需要考慮數據的可能性或可能放置的位置。 – Quentin 2012-03-31 15:58:14
爲了防止用戶輸入插入到其他地方(例如HTML文檔,JavaScript塊或電子郵件或PDF等)時發生攻擊,請專門研究這些攻擊。沒有全球靈丹妙藥。 – Quentin 2012-03-31 15:59:35
除了'mysql_real_escape_string'之外,你的例子中的所有函數都沒有任何意義(如果你有魔術引號,'stripslashes'會有一定意義_only_)。 – 2012-03-31 16:01:10