首页 > 解决方案 > 是否可以绕过使用所需属性、模式等的 html 验证

问题描述

我在我的表单输入(这里没有 JS 验证)上使用 html 属性,如 required、pattern、min、max、maxlength 等,并且在后端对这些相同的规则进行 codeignitor 验证。

我的问题:我想知道这种“html 验证”是否以及如何被击败。如果可以击败,除了成为良好的用户体验实践之外,它还有其他好处吗?

编辑:

在我所指的上下文中,“可击败”的意思是“你能required偷偷摸摸地绕过这个属性吗?”

标签: htmlvalidation

解决方案


这种验证肯定是可以击败的。您会看到,在表单上使用以下代码:

<input type="text" required placeholder="Enter your name" />

然后任何人都可以打开 Inspect 菜单,删除required,然后提交表单。解决这个问题的方法是:

  1. 使用 PHP 代码验证您的表单,并以这种方式检查值

  2. 或者使用混淆的 JavaScript 代码(参见我的帖子特别是关于JSF**K的部分)。

无论哪种方式,这种验证都是可以击败的,甚至 UX 也不是很好,因为您无法设置错误消息的样式。


推荐阅读