Javascript 使用输入maxlength的限制是否足够?
仅通过设置Javascript 使用输入maxlength的限制是否足够?,javascript,html,validation,Javascript,Html,Validation,仅通过设置maxlength来限制用户输入值是否足够?假设我有以下代码: <input type="text" id="foo" maxlength="12"> 用户是否仍然可以(以任何有效或无效的方式)插入超过12的值 当我们设置了maxlength时,是有用的还是无用的再次使用javascript或者在后端(servlet等)进行验证 仅通过设置maxlength来限制用户输入值是否足够 没有 用户是否有可能(以任何有效或无效的方式)插入大于12的值 对 当我们设置
maxlength
来限制用户输入值是否足够?假设我有以下代码:
<input type="text" id="foo" maxlength="12">
用户是否仍然可以(以任何有效或无效的方式)插入超过12的值
当我们设置了maxlength
时,是有用的还是无用的再次使用javascript或者在后端(servlet等)进行验证
仅通过设置maxlength来限制用户输入值是否足够
没有
用户是否有可能(以任何有效或无效的方式)插入大于12的值
对
当我们设置了maxlength之后,使用javascript或者在后端(servlet等)再次验证它是有用还是无用
您应该进行验证,最好是在后端进行验证
这是因为向服务器传递数据不一定需要浏览器。还有其他客户端软件,如REST testers、curl、wget、tamper data和类似的软件,它们可以直接向服务器发出请求,所有这些都绕过了maxlength
属性和JS验证
因此,如果您希望快速验证,以便用户获得快速、交互式的响应,那么您的maxlength
和JS验证就可以完成这项工作。但是,当数据被传递到服务器时,您应该进行第二次验证,这一次是为了安全。一切由您决定。
选择数据库中仅允许12个值的数据类型
客户端的工作在验证后完成,但数据库保存的值不会超过12。“maxlength”只检查前端部分,但需要检查到达服务器的内容。请记住:客户端的任何内容都很容易被击败/欺骗。始终在服务器端执行彻底的验证。永远不要信任用户的任何东西。在客户端,通过使用诸如“firebug”之类的浏览器开发工具,任何人都可以轻松删除“maxlength”属性。所以需要添加服务器端验证。哇,你给了我比我期望的更多如果超过12个字符的请求击中您的服务器怎么办?
这个问题的答案将是我们需要进行服务器端验证的可能原因之一,正如@Joseph the dreamer所解释的那样。。!!