我试图深入了解一些网站用户如何绕过客户端javascript表单验证。我有一个多步骤的表单,无法使用javascript关闭,因为它的步骤在你进展时显示/隐藏,并且提交按钮通过ajax工作(即它没有type="submit"
属性)。 / p>
我正在使用1000hz validator.js库来处理验证,并且通过大量测试,我相信它适用于表单上的所有输入。
表单上的一个字段是英国移动电话号码,因此它应该从07开始,长度为11个数字。我正在使用正则表达式pattern="^07\d{9}$"
进行此检查,它工作正常,因为除非格式输入正确,否则我无法使用表单。
通过查看表单提交虽然我发现大约1%的应用程序使用无效格式输入此字段,例如12个字符长或带有特殊字符,例如国家代码前置(+44)
我认为没有任何恶意行为,例如人们试图使用工具发布此数据,因为它看起来像有效的流量。
这些帖子的用户代理都略有不同,但其中很多似乎来自Android 4.4.2,即..
Mozilla/5.0 (Linux; Android 4.4.2; N830 Build/KOT49H) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/30.0.0.0 Mobile Safari/537.36
我试图使用类似的设备复制它,但验证似乎工作得很好。
答案 0 :(得分:0)
正在进行输入验证的库可能没有加载。可能有多种原因:
您应该切换到服务器端验证,以防止发生进一步的错误。