我有一个检查用户输入的功能,并想知道它是否可以防止此类攻击。此外,如果我想在每个需要它的页面上包含此功能,我可以将它放在自己的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 :(得分:2)
由于您正在使用引号,我假设您的主要问题是如何防止SQL注入,如果我没有弄错的话。 (注意:防止SQL注入是安全的,然后保护,例如Cross Site Scripting!);并且不保证您的安全申请。
SQL注入的最佳解决方案不是使用此函数,而是使用mysqli或PDO的预准备语句。 (见:How can I prevent SQL injection in PHP?)
其他有趣的链接:
sql注入的背景信息: https://www.owasp.org/index.php/SQL_Injection
其他验证: http://www.faqs.org/docs/gazette/superglobals.html
OWASP的输入验证: https://www.owasp.org/index.php/Input_Validation