2012-03-31 43 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注射。就这样。