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