2011-12-30 76 views
1

我有一个功能,检查用户输入,并想知道它是否可以防止这种类型的所有攻击。另外,如果我想在每个需要它的页面上包含这个函数,我可以把它放在它自己的php页面中,然后'include()'到它需要的页面中。谢谢。如何在php中正确检查用户输入?

function secure_data($value) 
{ 
if (get_magic_quotes_gpc()) { 
    $value = stripslashes($value); 
} 
if (function_exists("mysql_real_escape_string")) { 
    $value = mysql_real_escape_string($value); 
} else { 
    $value = addslashes($value); 
} 
return $value; 
} 
+0

你问题的关键在于解释你的意思是“这种攻击”。如果你知道哪种类型 - 你可以更好地研究如何防止他们.. – Arend 2011-12-30 01:47:10

+0

你想保护什么?您似乎在尝试防止SQL注入。如果是这种情况,您应该只使用PDO。 – 2011-12-30 01:48:57

回答

2

由于您使用引号,我假设您的主要问题是如何防止SQL注入,如果我没有弄错。 (注意:针对SQL注入的安全是其他方法,然后针对例如Cross Site Scripting进行保护!并不能保证你有一个安全的应用程序。

SQL注入的最佳解决方案不是使用此函数,而是使用mysqli或PDO准备好的语句。 (参见:How can I prevent SQL injection in PHP?

其他相关链接:SQL注入

背景资料:

其他验证:从OWASP http://www.faqs.org/docs/gazette/superglobals.html

输入验证: https://www.owasp.org/index.php/Input_Validation

相关问题