我正在动态验证所有$_POST
字段。问题是,访问者可以使用Inspect Element将name属性更改为其他任何属性,然后提交表单,验证将不会发生。例如,如果客户端将name属性从email
更改为随机单词,则不会对该字段进行验证。我怎样才能预防呢?我需要动态获取所有post字段
<input type = "text" name = "email[0]">
<input type = "text" name = "aphabets[1]">
<input type = "text" name = "numbers[1]">
foreach ($_POST as $key => $value) {
foreach($value as $k => $v){
if ($key[$i] === "email"){
email($v);
}
if ($key[$i] === "numbers"){
required($v);
}
}
}
function email($v){
//validate email
}
function required($v){
//validate email
}
您不能相信客户机会告诉您验证规则是什么。这包括您发送给客户端的数据,并希望返回未修改的数据。
说……
访问者可以使用Inspect Element将name属性更改为其他属性,然后提交表单,验证将不会发生
如果他们将名称更改为您不希望处理的内容,那么处理它就没有任何意义。
必须通过
动态获取所有post字段
为什么你必须得到所有字段?
如果字段名与您期望的模式不匹配,那么除了不知道如何验证它之外,您还不知道该如何处理它。
它不是您编写表单请求的字段。你为什么要接受呢?
这是无效的输入到您的系统。忽略它或将错误返回给浏览器。
使用时可以使用jquery、jquery验证插件等。