在PHP中,在检查表单是否为空之前,是否需要转义表单提交?
即。像empty($_POST['email'])
这样的东西是否容易受到代码注入?
答案 0 :(得分:1)
OWASP网站(https://www.owasp.org/index.php/Code_Injection)将代码注入定义为
代码注入是攻击类型的总称,包括注入 然后由应用程序解释/执行的代码。
PHP空函数确定变量是否为空。由于它并没有真正执行代码,所以它是安全的。
空事后你做了什么?例如,如果您计划将$ _POST ['email']用作SQL查询的一部分,或者在外部shell命令中使用它或在HTML输出中使用它,则需要相应地对其进行转义。根据用途,有逃避功能。对于SQL注入,PHP提供了mysql_real_escape_string。对于shell命令,escapeshellcmd和escapeshellarg。对于HTML输出来避免XSS攻击,PHP htmlentities。