我可以信任表单中字段的必需属性吗?
<input type="text" name="username" required/>
上面的代码将确保它是必填字段,但用户不能只检查元素并删除属性?我是否有必要检查if (isset($_POST...
或者我是否可以依赖必需的属性来做它?
答案 0 :(得分:5)
始终使用服务器端验证。前端存在必需属性,如果恶意用户希望修改DOM,则可以轻松操作。
答案 1 :(得分:1)
必需的属性在html5中添加,适用于大多数浏览器,问题一如既往,即不起作用,因此其他旧浏览器不会信任该属性。
答案 2 :(得分:1)
验证应始终在服务器端完成。像interception proxy
这样的东西甚至可以绕过Javascript验证。所以你甚至不能使用Javascript进行验证。您可以使用这些字段来通知用户这些字段是必需的,但这取决于它们是不好的做法。
答案 3 :(得分:0)
服务器端验证是您最好的选择。目前桌面和iOS上的Safari以及Android浏览器不支持任何输入类型的“required”属性作为提交验证的方式(虽然奇怪地支持伪类css选择器)。