-2

我正在$_POST动态验证所有字段。问题是访问者可以使用 Inspect Element 将 name 属性更改为其他任何内容并提交表单,并且不会发生验证。例如,如果客户端将 name 属性从更改email为随机单词,则不会对该字段进行验证。我该如何防止这种情况。我必须动态获取所有的帖子字段

<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
}
4

2 回答 2

1

您不能相信客户端会告诉您验证规则是什么。这包括您发送给客户端并希望原封不动地返回的数据。

也就是说……</p>

访问者可以使用 Inspect Element 将 name 属性更改为其他任何内容并提交表单,验证将不会发生

如果他们将名称更改为您不希望处理的名称,则处理它没有任何意义。

必须动态获取所有所有帖子字段

为什么你必须得到所有的领域?

如果字段名称与您期望的模式不匹配,那么除了不知道如何验证它之外,您也不知道如何处理它。

这不是您编写表单要求的字段。你为什么要接受它呢?

这是对您系统的无效输入。忽略它或将错误返回给浏览器。

于 2015-09-05T19:05:08.703 回答
-2

使用可以使用 jquery、Jquery 验证插件等等。

于 2015-09-05T18:16:16.830 回答