我已经注意到,许多JavaScript重型应用程序,如gmail,google doc等(Google SSO)和其他网站都不使用javascript来验证其登录表单。通常的做法是使用JS作为第一级验证,服务器端验证作为第二级验证,那么为什么人们不使用JavaScript验证登录页面呢?是否存在任何特定的安全风险?
发布于 2012-12-26 23:35:49
您可以在Javascript中验证电话号码看起来是否像电话号码,这是一个简单的格式验证。
您无法使用Javascript验证登录凭据是否有效,这必须在服务器上进行。这是因为它不是一个简单的格式验证,但服务器必须检查数据库中的信息是否与输入的数据匹配。
在Javascript中,您最多可以在客户端执行的操作是验证用户名是否看起来像有效的用户名(如果您有这样的限制),或者验证密码是否符合您的有效密码规则(如果您有这样的规则)。这样做的目的是更快地剔除绝对无效的值。但是,尤其是使用登录信息时,您不会想要加快此过程。您希望该过程尽可能慢,以使攻击者更难随机尝试用户名和密码。
发布于 2012-12-26 23:29:27
我想不出任何好的理由不这样做-至少要验证用户名/密码字段中是否输入了某些内容。
发布于 2012-12-26 23:47:03
简单地说,如果javascript被关闭了,那么你的验证就完了。考虑到无法关闭表单,使用服务器端语言(如php )验证表单是最有效、最安全的方式。
如果有人关闭了他们的JS,他们可以在没有用户名或密码的情况下创建一个帐户,你所要做的就是运行设置,这是不可能发生的。
https://stackoverflow.com/questions/14042568
复制相似问题