Javascript客户端登录,如何验证服务器端?

时间:2009-09-22 20:41:48

标签: javascript authentication client-side server-side

我正在寻找将安全数据从客户端传递到服务器端的最佳做法。

例如,我有客户端身份验证,有时我需要从客户端调用服务器端的私有api,但我需要确保用户经过身份验证/授权在服务器端执行这些调用,现在只有浏览器知道用户是否经过身份验证。

谢谢!

4 个答案:

答案 0 :(得分:3)

您使用的是SSL吗?如果您是,那么您可以将某种秘密用户标识符(或密码)传递给服务器。服务器可以执行检查以确定一切正常,并允许您执行对私有服务器apis的调用。

SSL是使用RSA执行端到端加密的安全套接字层。端到端加密可确保发送的任何数据都经过加密,因此您无需担心通过SSL发送密码,就像您不使用密码一样。

答案 1 :(得分:0)

如果你的身份验证是通过javascript完成的,而不是去服务器,那你就错了。任何浏览器代码都可以轻松篡改。您不能相信在浏览器中运行的代码。最佳做法是将身份验证发送到服务器并在那里进行身份验证。基于此,您可以执行诸如使用令牌来验证服务器,甚至每次都发送凭据等事情。

如果您在发送到服务器时担心安全性,请使用SSL。

答案 2 :(得分:0)

  1. 使用SSL
  2. 使用客户端证明
  3. 为客户端的每个连接使用唯一的安全令牌(在服务器端会话中保存安全令牌并与客户端存储的值进行比较)

答案 3 :(得分:0)

  1. SSL
  2. 有一个很多的解决方案可以满足您的需求,包括:OAuth,OAuth2,openID和衍生产品。但是,如果您在客户端存储用户密码,那么您会比“服务器不知道”更加担心 - 更多的是客户端拥有伪造其身份验证的所有工具。
  3. 默默无闻的安全是一个不好的口头禅。
相关问题