0

有什么方法可以使用 JavaScript 验证主页吗?我确实知道几种方法,但它们非常容易“破解”,因为用户名和密码存储在脚本本身中 - 作为数组。

你们知道验证一个或两个子页面的好方法吗?

4

5 回答 5

8

不,绝对没有办法使用纯 JavaScript 对用户进行身份验证。

JavaScript 在客户端执行,因此完全可以轻松操作。

身份验证始终需要在服务器端完成。JavaScript 可用于将凭据发送到服务器,但绝不会检查这些凭据。

于 2010-07-16T11:56:04.470 回答
1

是的,有一个安全的解决方案。它被称为“挑战/反应技术”。它是这样工作的:

  • 服务器向客户端发送挑战(一些随机字符串)
  • 客户端附加到收到的挑战密码(来自用户输入)并对此组合进行哈希处理
  • 服务器做同样的事情(挑战+来自数据库的密码)并验证相等性
    • 如果一切正常,服务器将用户登录到站点

安全是通过这种方式实现的,服务器只发送一次挑战!如果有人捕捉到客户端的响应,它是不适应的,因为服务器永远不会再发送这个挑战。

于 2010-07-16T12:19:53.767 回答
0

只要用户是否可以看到某些内容的最终决定是在客户端上完成的,就很容易被破解。

唯一可行的方法是,如果您以某种方式使用密码对内容进行编码,那么只要不知道密码,就根本无法访问所需的信息。但即使这样也很容易被暴力破解,实施起来也很复杂。

于 2010-07-16T11:57:54.637 回答
0

这是不可能的。在未经授权的会话中发送给客户端的任何数据都应视为公开的。在未经授权的会话中发送给客户端的任何敏感数据(例如:密码)都应被视为已泄露。从客户端收到的任何数据都应该被认为是不可信的。

您只能信任服务器。

当然,您可以使用 nodeJS 在 JavaScript 中编写服务器端代码

于 2010-07-16T12:05:06.270 回答
0

这当然是可能的:您可以加密网页并使用 javascript 解密它。但是,这样做很少有意义。

于 2010-07-16T12:18:35.233 回答