我注意到许多 JavaScript 繁重的应用程序,如 gmail、google doc 等(google SSO)和其他网站不使用 javascript 来验证他们的登录表单。一般的做法是 JS 用作第一级验证,服务器端验证用作第二级 那么为什么人们不使用 JavaScript 验证登录页面呢?是否存在任何特定的安全风险?
问问题
741 次
3 回答
4
您可以验证电话号码是否看起来像 Javascript 中的电话号码,这是一种简单的格式验证。
您无法使用 Javascript 验证登录凭据是否有效,这必须在服务器上进行。那是因为它不是简单的格式验证,而是服务器必须检查数据库中的信息是否与输入的数据匹配。
您可以在 Javascript 客户端中做的最多的事情是验证用户名是否看起来像一个有效的用户名(如果您有这样的限制)或密码是否符合您的有效密码规则(如果您有这样的规则)。这样做是更快地清除绝对无效的值。但特别是对于登录信息,您不想加快进程。您希望该过程尽可能慢,以使攻击者更难随机尝试用户名和密码。
于 2012-12-26T15:35:49.300 回答
0
简而言之,如果关闭了 javascript,那么您的验证就会成功。考虑到您无法关闭它们,使用诸如 php 之类的服务器端语言来验证表单只是验证表单的最有效和最安全的方式。
如果有人关闭了他们的 JS,他们可以在没有用户名或密码的情况下创建一个帐户,您只需运行 php 即可,这不会发生。
于 2012-12-26T15:47:02.587 回答
0
我想不出任何不这样做的充分理由 - 至少要验证是否为用户名/密码字段输入了某些内容。
于 2012-12-26T15:29:27.277 回答