小编Wal*_*man的帖子

使用hmac保护javascript客户端

我正在研究如何保护我正在处理的javascript应用程序.该应用程序是一个聊天客户端,它使用APE(Ajax Push Engine)作为后端.

目前,任何人都可以访问该页面并向APE服务器发出GET/POST请求.我只想为注册用户提供聊天客户端,我想确保只接受他们的请求.我可以使用PHP的用户名/密码验证来为用户提供页面.但是一旦他们有了这个页面,有什么可以阻止他们修改javascript或让它落入坏人之手?

这种保护客户端/服务器应用程序的方法看起来很有希望:http://abhinavsingh.com/blog/2009/12/how-to-add-content-verification-using-hmac-in-php/

我有另一个消息来源说这是一个javascript客户端的理想选择,因为它不依赖于发送私钥.但这怎么可能呢?根据上面的教程,客户端需要提供私钥.这似乎不太安全,因为拥有javascript的任何人现在都拥有该用户的私钥.根据我的理解,它可以像这样工作:

  1. 用户使用用户名和密码登录
  2. PHP验证用户名和密码,查找用户的私钥并将其插入到javascript中
  3. Javascript提供签名(使用私钥),以及包含所有APE请求的公钥
  4. APE将计算的签名与接收的签名进行比较,并决定是否处理请求.

如果javascript应用程序需要知道私钥,这是如何安全的?

谢谢您的帮助!

javascript php hmac ajax-push

9
推荐指数
1
解决办法
6110
查看次数

标签 统计

ajax-push ×1

hmac ×1

javascript ×1

php ×1