表单验证的 HTML5 'Required'属性:好主意或坏主意



我使用的是最简单的HTML5表单,并希望使用复选框的"required"属性,以确保用户在提交表单时单击它。

我应该进行一些服务器端验证吗?以防有人使用的浏览器不支持html5?

更多信息:

我的表格是这样的:

[]我接受的条款和条件

提交

代码:

<input type="checkbox" required> I accept the terms and conditions<br />
<input type="submit" value="submit"/>

客户端表单验证是增强用户体验的好方法,它还提供了一些样式,可以帮助传达需要输入的信息。

但无论如何,您都必须验证服务器上提交的任何数据,确保数据干净安全。required属性可能被恶意用户操纵。

永远不要相信来自客户端的任何数据(无论是HTML还是JS,它们都可以更改。客户端的验证只是为了更好的用户体验。真正的安全性在服务器端。

所有浏览器都支持实际需要的CSS伪类(没有问题,IE8除外),正如您在这里看到的

http://caniuse.com/#search=form%20validation

无论如何,您总是需要服务器端验证,因为不管怎样,客户端检查的数据都必须被认为是不安全的。

仅仅保存UI后面的逻辑是不够的。某些HTML表单验证在某些浏览器中不起作用。所以服务器端验证是必须的

客户端验证是指用户输入在发送到服务器之前由浏览器进行验证,可以使用HTML属性、JavaScript或其他脚本语言进行验证。这种验证不能保证验证没有被黑客和恶意用户搞砸,他们经常发现这种薄弱的安全协议中存在漏洞。因此,在生产级别的企业级软件和其他准备通过网络部署的应用程序中,强烈建议使用服务器端验证协议,以确保不会对数据进行错误处理。例如:springboot使用";弹簧启动启动器验证";pom.xml文件中的依赖项,以便将其服务器端验证方法引入程序中。

最新更新