微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

php – 关于AJAX安全的问题请咨询

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

我知道javascript很容易被黑客入侵,并且在这里也可以阅读http://www.acunetix.com/websitesecurity/ajax.htm,AJAX并不像看起来那样安全.他们声称“由于XML HTTP请求使用与Web上其他所有协议相同的协议(HTTP),从技术上讲,基于AJAX的Web应用程序容易受到与”普通“应用程序相同的黑客攻击方法的影响.

所以基本上我不希望蠕虫通过我的AJAX功能继续运行朋友请求,并且有人在网站上签名并且他们有1400万个朋友请求.这也是我在网站上运行的其他几个AJAX脚本的问题.我的问题是,我应该保持服务器端的一切.我正在使用PHP所以,如果每个朋友请求只是重新加载页面,我想避免这样的事情?
如有任何帮助,将不胜感激.

解决方法:

如果您有安全问题,它们并不是ajax独有的,但有一些简单的方法可以让事情变得更加困难.

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

2)通过将客户信息嵌入会话密钥(cookie)并在服务器上验证它,例如,使会话劫持更​​难. IP地址,浏览器版本.不过,这仍然可以被欺骗.

3)如果特定会话在特定时间段内(例如每分钟10次)发出超过x个请求,请将其注销并禁止它们一小时.设置更高的限制以禁止它们直到由管理员恢复.如果发生这种情况,请让代码自己发送电子邮件,以便了解您是否遇到过问题.

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

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

>客户端脚本从服务器请求salt(随机字符串)
>服务器将盐发送到客户端并使用会话记住它
>客户端使用Sha-256对密码进行哈希处理,例如使用salt,并使用其用户名和密码进行身份验证.哈希密码.服务器使用相同的盐来哈希与用户相关联的密码,并验证它是否与客户端发送的哈希相匹配.服务器忘记了这次使用的盐.

这样,观看会话的人只能看到散列密码,并且因为散列每次都不同,所以他们实际上无法使用针对您服务的散列重新登录.您仍然无法阻止他们劫持会话,但您可以阻止他们查看用户的密码或自行登录.

实际上,会话劫持并不是那么常见,尽管高调的实现当然是通过wifi的facebook.如果有人拿出一个Firefox插件来破解你的社交网络,那么你应该感到激动,因为你知道你已经成功了.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐