2017-05-31 105 views
1

我担心网络安全问题以及在输入标签上使用HTML5 required字。我试图将其用作“表单输入验证”的一部分。在输入标签上使用HTML5'所需'的东西对于验证是可靠的,或者很容易被试图绕过输入字段要求的用户操纵。是html5输入“必需”的安全验证技术?

我已经搜索了关于html安全性的信息,并且发现其中很少。

谢谢

+0

SO确实需要相当特定的格式,包括经过验证的努力和研究,所以关键是要确保以一种真正针对核心问题的方式来构建问题,在您的情况下是使用必需属性的安全性作为表单验证的一种手段。 –

+0

我个人不会单独使用必需的关键字,因为它可以很容易地被某人修改,因为它是客户端元素。为了安全地执行此操作,您还需要在服务器端验证用户的输入。 –

+0

谢谢...我不太确定为什么'需要'它在那里?但这正是我所期待的...服务器端的安全性更好。 – Rod

回答

1

在我的意见,它不是一个有效的方法。使用浏览器上该字段上的检查元素可以轻松地更改必需的属性。 这里最重要的是要记住,所有的客户端验证是你的第一道防线,但大部分时间你需要一个额外的层来检查你的服务器端。 如果你的服务器没有额外的验证,那么你不安全的话,我可以不使用你的表单,而使用邮递员(扩展名为chrome)等工具来向你的表单的action域发出http post请求。

2

总之,答案是否定的,客户端代码不是安全的地方依靠安全检查。

使用required的方法为用户提供反馈并允许更好的用户界面,但为了安全起见,您需要对传递到服务器端的所有数据执行保真度检查,具体操作取决于您的支持建筑。

要在注释中回答您的问题,required属性用于防止在未完成字段时提交表单,但这纯粹是为了帮助用户知道它是必需的。如果你有黑客,只需从标记中删除required属性,那么它们就不会有任何好处,这就是后端检查可以为你节省的地方。