日期:2014-05-17  浏览次数:20439 次

问个安全性方面的问题,网站使用了AJAX更新或者添加数据,有以下问题不是太明白
比如说:jquery 的AJAX部分代码这样子的

 $.post("http://www.mboxlady.com/ajaxmycart.aspx", { Action: "post", product_id: id, colorno: colorno...参数, type: "addcart" }

问题来了,从安全方面说,AJAX就是POST数据过去,而且还会返回对应的参数,这样一来是不是别人可随意POST数据到这个页面,根据我返回的参数得到他需要的。我试了下,反正这种AJAX用绝对地址好像是不能直接调用其他域名的数据,但是如果攻击者直接看到我的这个传输页面 直接用页面提交的形式POST过去应该就可以了吧。

我担心这种数据库被别人恶意post参数过来,我想到的是在处理post数据前判断了下来源链接域名是否为我指定域名,如果不是我指定域名就不执行。不知道这样做是不是画蛇添足,,,,

http://www.mboxlady.com/ 我这个网站第三方登陆也是用的第三方JS登陆过来后我用AJAX处理的,最担心这个是不是一个致命隐患,高手帮小弟分析分析!!!!!!!!

------解决方案--------------------
晚上回去给你看
------解决方案--------------------


只要是走http,就能监测到你的数据。怎么着也防不住小人的。

不过你可以对你传输的参数专门写一个加密算法,传递数据时加密参数,这样相对能安全一些。
------解决方案--------------------
登录机制~ 未登录禁止提交数据
------解决方案--------------------
探讨
只要是走http,就能监测到你的数据。怎么着也防不住小人的。

不过你可以对你传输的参数专门写一个加密算法,传递数据时加密参数,这样相对能安全一些。

------解决方案--------------------
我个人觉得LZ在ajax的处理页面判断域名还是有必要的,不然不判断其他人可以用form表单的post传值来对你的处理页面进行参数攻击了。
第三方登陆的话我觉得用cookie加密存储或者用asp.net form来验证都是可以实现的。
------解决方案--------------------
是的,别人本地表单直接提交,也会得到相应效果,所以你要验证啊

在那个页面,验证用户是否登陆,或者是否有权之类的

跟需要用户登陆才可以查看的页面,一个原理
------解决方案--------------------
对,验证用户是否登陆.
再就是加密,
双重保险.
------解决方案--------------------
一般网站都会存在这个post的问题,可以做个站外提交检测。。。
------解决方案--------------------
让所谓的HACK提交好了,参数化全部接收。
根据情况后再处理。
------解决方案--------------------
加入Token。
1.你分配一个密钥给调用接口的人
2.让调用者根据密钥把所有参数加起来,通过加密计算出一个Token。
3.调用者把所有参数和签名一起传过来
4.服务器端接受到请求之后也通过同样的算法计算出Token
5.对比传过来的Token,一致,则可认为是正常请求,不一致时,可认为是遭到攻击。

这种方法现在使用的很普遍
------解决方案--------------------
如果是自己的网站页面调用的话,那就判断是否登录。。。
------解决方案--------------------
AJAX是不能跨域提交的,撸主放心,而且你提交的参数,走的是HTTP头。虽然用抓包工具可见,但是相对来说是很安全的。你要做的只是类似放重复提交之类的,因为AJAX归根结底还是请求,还是通过URL。
------解决方案--------------------
如果还是不明白的话,就拿CSDN 的登录模块来研究。他返回的也是json。他提交的信息你随便用个什么工具也能看到,(密码是加了密的)。
------解决方案--------------------
登陆验证,权限验证