首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >有关AJAX安全的问题,请咨询

有关AJAX安全的问题,请咨询
EN

Stack Overflow用户
提问于 2011-03-25 03:49:14
回答 5查看 2.2K关注 0票数 4

我有一个我正在创建的社交网络,并且有一个安全问题。我有能力在网站上有朋友,当你请求一个朋友,它将是一个按钮,将运行使用jQuery的AJAX脚本。

我知道javascript很容易被黑客入侵,在这里我也读到了http://www.acunetix.com/websitesecurity/ajax.htm,AJAX并不像它看起来那样安全。他们指出,“由于XML HTTP请求的工作原理是使用与web上的所有其他应用程序(HTTP)相同的协议,从技术上讲,基于AJAX的web应用程序容易受到与‘正常’应用程序相同的黑客方法的攻击”。

所以基本上我不希望蠕虫通过我的AJAX函数运行朋友请求,然后有人在网站上签名,他们有1400万个朋友请求。这也是我在站点上运行的其他几个AJAX脚本的问题。我的问题是,我是否应该将所有内容都保留在服务器端。我使用的是php,所以每个朋友的请求都应该像我希望避免的那样重新加载页面吗?请提供任何帮助,我们将不胜感激。

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2011-03-25 04:41:46

如果您有安全方面的顾虑,它们并不是ajax独有的,但是有一些简单的方法可以让事情变得更难处理。

1)正如Diodeus所说--在没有通过会话进行身份验证的情况下,绝对不要让人们使用您的服务。与网站上任何其他需要您登录的页面相同。

2)通过将客户端信息嵌入到会话密钥(cookie)中,并在服务器上进行验证,例如IP地址、浏览器版本,使会话劫持变得更加困难。然而,这仍然是可以欺骗的。

3)如果某个会话在某个时间段内发出了超过x个请求(例如,立即执行10个请求),则将其注销并禁止一小时。设置更高的限制以禁止它们,直到管理员恢复。每当这种情况发生时,让代码给你自己发一封电子邮件,这样你就知道你是否有问题。

4)如果你真的很担心,那就使用SSL。这确实是绝对防止会话劫持的唯一方法(除了为会话数据实现自己的私钥加密机制之外)。

5)如果不使用SSL,您无法阻止会话劫持的可能性,但您可以保护您的用户的密码,使其容易被窥探。进行身份验证时,请执行以下操作:

  • 客户端脚本从服务器请求salt (随机字符串)
  • 服务器将salt发送到客户端并通过会话记住它
  • 客户端使用Sha-256散列密码,例如使用salt,并使用其用户名和散列密码进行身份验证。服务器使用相同的盐对与其自身端的用户相关联的密码进行散列,如果该密码与客户端发送的散列匹配,则进行身份验证。服务器忘记了这一次使用的盐。

这样,监视会话的人只能看到散列的密码,而且因为散列每次都是不同的,所以他们不能再次使用该散列登录您的服务。你仍然不能阻止他们劫持会话,但你可以阻止他们看到你的用户的密码或能够自己登录。

在现实中,会话劫持并不是那么常见,尽管高调的实现当然是通过wifi的facebook。如果有人带着Firefox插件入侵你的社交网络,那么你应该感到兴奋,因为你知道你已经成功了。

票数 5
EN

Stack Overflow用户

发布于 2011-03-25 04:43:10

这些并不是AJAX特有的问题。归根结底,它就是检查和清理数据。我假设用户必须先注册/登录,然后才能添加好友(毕竟,否则如何跟踪谁是谁的朋友呢?)因此,这里有一些显而易见的要点需要考虑:

  • 在你的注册过程中添加验证码或类似的东西,以减少机器人用户。
  • 在处理AJAX呼叫时,确保允许用户做他正在做的事情(例如,他是否登录了,他是否激活了他的帐户等)
  • 在处理朋友请求时,忽略重复的请求。人们有时会故意忽略好友请求,当邀请者获得impatient.
  • Find跟踪可疑行为的方法时,他们可能不想再次收到邀请。如果用户在过去的两秒内发送了50个好友请求,那么很可能是一个机器人。暂时屏蔽这个账号,让一个人来检查一下。对被屏蔽的用户隐藏好友请求也可能是个好主意。

还有更多,但这些应该会让你入门。

票数 1
EN

Stack Overflow用户

发布于 2011-03-25 03:56:20

在客户端上设置登录cookie。将cookie值与ajax请求一起发送,并在服务器上进行验证。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5424685

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档