我在一个有表格的网站上编码并使用HTML5验证 - 到目前为止还没有火箭科学。在Google Chrome浏览器中,一切正常,但我想确保即使是没有表格验证的IE 6用户也不会将格式错误的数据插入我的MYSQL数据库。
有没有办法在Google Chrome或其他一些最先进的浏览器中关闭HTML5表单验证来测试服务器端数据验证?
答案 0 :(得分:48)
要在HTML5中禁用验证
<form method="post" action="/foo" novalidate>...</form>
请参阅this问题以获取更多详细信息。我认为 Junit 也可以帮助测试服务器端验证。
使用参数化查询可以获得更高的安全性。 (如果使用用户输入形成SQL查询)。
编辑:
您可以在关于:标志中设置它
步骤:
1.在您的Google Chrome地址栏中,输入“about:flags”(不带引号),然后按Enter键
2.向下滚动列表,直到看到“禁用HTML5交互式表单验证”选项
3.单击启用链接
检查:http://wikibin.org/articles/google-chrome-about-and-chrome-urls.html
编辑2:
刚刚开始知道About:flags是折旧的使用使用chrome:// flags代替。谢谢@Max。
答案 1 :(得分:2)
此Chrome扩展程序允许您停用Chrome内置的HTML验证
答案 2 :(得分:1)
它现在需要novalidate="novalidate"
如下:
<Form novalidate="novalidate" onSubmit={this.handleSaveFormSubmit}>
novalidate
不再有效,并且Chrome显示“请填写此字段”
答案 3 :(得分:0)
不幸的是,已接受的答案不再适用,因为它是在表单验证错误(see removal requests)时引入的。
幸运的是,有一个chrome扩展程序可以为每个页面执行此操作: Auto remove HTML5 form validation
我不是这个插件的作者,我不能保证你不会做任何不应该做的事情。 source code非常短(约5行)。
答案 4 :(得分:-1)
如果要构建任何SQL字符串,绝对应验证服务器上的 。
在客户端中,您应该可以回退到基于JavaScript的验证,但这不是保护。也可以在服务器上执行此操作。