阻止人们提交包含无意义数据的表单

时间:2013-01-14 11:44:45

标签: php

我在一个网站上工作,该网站允许人们在请求公司支持时告诉他们如何对待他们。问题是有些人正在使用无意义的数据(如

)来玩平台
blabla bal bla bka asdfdsff sdfs sdf

有没有办法防止这种情况发生? 无法手动验证数据,因为网站非常动态,包含大量数据。 感谢

3 个答案:

答案 0 :(得分:1)

简短回答否。

答案很长:您可能想尝试将字词与字典匹配。但这不是万无一失的,当匹配太紧时你可能会得到很多误报。

另一种方法可能是建立一个虚假单词的黑名单并与之匹配。

此外,您可能需要重新考虑制作所需的特定字段。当很多人填写虚假数据时,表单可能设置错误。

答案 1 :(得分:1)

改进表单验证检查。

对于电话号码,请确保它的大小正确,并且(例如)不具有相同的号码(即号码0777777777可能是假的)。

计算句子中的字母用法。英语中使用最多的字母是e和a(我认为)。如果比率完全不同(例如,如果200字母文本中没有字母e - 则存在一些问题。)

还要将单词与字典匹配。对于大于60%的未知单词比率,您可以认为它无效。

检查日期,如果您预计未来几天的日期,则不应接受30年前的日期。

想想你期望收到的数据,并找到它的限制,这是唯一的方法。祝你好运!

答案 2 :(得分:1)

你可以做到这一点:

  • 某些字段的验证(电话号码,电子邮件,仅限数字/文本字段等)
  • 限制用户使用预定义的项目,例如下拉菜单,复选框,而不仅仅是纯文本输入,他们有完全的自由
  • 通过字典运行一些检查,并确定用户提交的所需质量百分比。

无论你做什么,它都永远不会是100%。用户输入超出预定值的唯一(几乎!)保证的正确验证方法是让某人坐下并手动检查每个提交的数据。即使这样,他们也容易出现人为错误,但仍然不会是100%。

我的建议是将所有重要字段保存到您已经使用下拉菜单,复选框,数字旋转器等自己指定的值...

在某些项目上添加“附加评论”字段,但不要将这些字段保留在提交表单的主流程处理中。