出于安全原因,需要对哪类用户提交的数据进行清理 - 除了最终在SQL语句中的数据?
例如,我知道(“知道”)
if ( isset($_POST['someVar']) && ("a_value" == $_POST['someVar']) ) {
print "A";
} else {
print "B";
}
不会给我带来麻烦;我很确定
print "<table><tr><td>" . $_POST['someVar'] . '</td></tr></table>';
也不会。
我需要在哪些域中清理用户输入(除了SQL语句),为什么?
答案 0 :(得分:2)
同时保护用户:
答案 1 :(得分:1)
您可以防范目标环境。如果您正在构建数据库查询,则使用SQL注入保护。如果用户数据进入电子邮件,则使用html&amp;哑剧注射保护。 html目标,html注入保护。
对此没有一个“正确”的答案,除了“使用目标环境的任何保护系统”。
答案 2 :(得分:1)
您应该停止使用古老的mysql_*
函数,并了解如何将prepared statements与PDO或MySQLi一起使用。 默认情况下可以防止SQL注入。
用于访问MYSQL的mysql_*
API函数超过10年。开发人员不再支持deprecating他们的流程已经开始。
您可能容易受到哪些其他形式的攻击无法分辨,因为没有可查看的代码。有很多攻击媒介,这取决于你实际用于你网站的内容。