【发布时间】:2017-03-18 22:09:07
【问题描述】:
我刚刚开始使用 PHP,并且有一个用户可以提交数据的表单。在我显示或发送数据之前,会对其进行清理和验证(trim、stripslashes 和 htmlspecialchars)并保存为新变量,然后使用这些新变量代替直接提交的值。
我的问题是,使用未经处理的值做任何事情是否安全?安全隐患是否只有在显示值时才会显现出来?
具体来说,做代码之类的会不会有什么问题
if(empty($_POST["theirname"]){code;}
如果他们在提交时尝试了某种攻击或将代码放入该框中?
目前我会在检查所有输入是否为空之前对其进行清理,但我想避免在这种情况下出现错误/警告,例如,如果用户提交了一个空白框(因为可以对不存在的 POST 值调用清理函数存在)
【问题讨论】:
-
这取决于您在检查该变量后将在代码块中执行的操作。
-
Don't use
stripslashes(或addslashes) -
查看PHP The Right Way的安全部分。
标签: php