我有一个表单,其中每个字段都通过其类属性赋予某些属性。
即都是必需的输入,并且期望其值被格式化为电子邮件地址。
使用 Javascript/jQuery,我迭代了表单中的所有输入,确定了每个输入的关联属性(如果有),并通过 ajax 提交它们,以便使用 PHP 在服务器端进行后处理。
因此 PHP 将在上面的输入示例中确定 $_POST["email"] 1) 是否有值以及 2) 该值是否是电子邮件地址。
我在实现任何预期行为方面没有遇到任何问题。我的问题/担忧是如何防止用户在提交表单之前使用代码检查器工具(例如 FireBug)操作每个字段的属性,即删除“电子邮件”id 的“必需”类,以便他们可以成功提交表单而无需提供电子邮件输入。有什么办法可以防止狡猾的用户利用这一点吗?或者这只是我设计表单验证的结果?
任何见解将不胜感激。
最佳答案
如果表单未正确填写,Javascript 可用于向用户提供即时反馈,因此他们不必经历“填写表单、提交、返回错误页面”的往返过程。
但它绝不应该是唯一的验证方法。无论如何,测试表单以确保通过 Javascript 输入了有效的电子邮件,但您还必须在服务器上执行此操作。根据定义,浏览器中的所有内容都在用户的控制之下,这意味着所有内容都可以被轻易绕过/伪造/操纵/颠覆。
关于php - 使用代码检查器编辑 DOM 客户端来操纵服务器端行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5871799/