检查元素的动态$ _ POST验证问题


dynamic $ _ POST validation issue with inspect element

我正在动态验证所有$_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验证插件等。