日期:2014-05-16  浏览次数:20653 次

ajax的安全问题
搜索功能,使用ajxa发送搜索的关键字,服务器返回内容呈现出来

但是搜索的是要保密的资料,不能让低权限的人看到高权限人才能看的东西

但是ajax的请求数据地址是暴露出来的

如果低权限的人或者外人得到了地址,直接访问不就把数据泄露了?

判断request的来源好像不很安全啊。。。

js的可以加密解密数据吗?有用吗?js文件很容易被获取到的



------解决方案--------------------
用户授权 ,登录
高级的 要登录 普通的无需登录 可以这样
------解决方案--------------------
既然需要登录 外人不登录 怎么请求的到数据呢

在我看来 除非你有自己的客户端,否则 javascript是没有办法给你保密的

javascript加密发送数据 是为了保证在传输过程中 不被截获;如果对方知道你的地址 他的请求是合法的 他可以模拟的javascript解密

所以 还是登录问题,不登录 没内容
------解决方案--------------------
发送数据之前,判断用户的权限,有权限则发送,没权限则不发送。
------解决方案--------------------
ajax还不是也是请求网页吗 和你自己打开浏览器访问是无差别的

同样可以判断是否登录的
------解决方案--------------------
任何保密的资料都不要直接放到前端,包括 js 及其ajax应用
------解决方案--------------------
后台加密
------解决方案--------------------
后台用session判断用户
------解决方案--------------------
+1
探讨
发送数据之前,判断用户的权限,有权限则发送,没权限则不发送。

------解决方案--------------------
安全是永恒的话题,绝对安全安全很难,但你说的事,

但是ajax的请求数据地址是暴露出来的 ?? 我搞不清楚


没有权限控制?? 不能一个地址谁输入都能访问吧

 ,比如有个管理员的路径/admin,,
一般就是知道/admin,输入还不是给他打回原页,

再说,你要查询,当然要掉用业务方法,没有权限的人怎么能访问,要权限的业务方法,



------解决方案--------------------
你在ajax请求的页面中加上一个权限判断这样就算是知道你的地址也没有用的,我是这样处理这块的。
------解决方案--------------------
可以 MD5加密


------解决方案--------------------
js 的 MD5加密 我就用过

------解决方案--------------------
1.对于开发者,首先应该把精力放到对所有用户提交内容进行可靠的输入验证上。这些提交内容包括URL、查询关键字、http头、post数据等。只接受在你所规定长度范围内、采用适当格式、你所希望的字符。阻塞、过滤或者忽略其它的任何东西。

2.保护所有敏感的功能,以防被bots自动化或者被第三方网站所执行。实现session标记(session tokens)、HTTP引用头检查。

3. 如果你的web应用必须支持用户提供的HTML,那么应用的安全性将受到灾难性的下滑。但是你还是可以做一些事来保护web站点:确认你接收的HTML内 容被妥善地格式化,仅包含最小化的、安全的tag(绝对没有JavaScript),去掉任何对远程内容的引用(尤其是样式表和JavaScript)。 为了更多的安全,请使用httpOnly的cookie。


------解决方案--------------------
在服务器端验证请求的用户身份,如session或者再发送请求的时候同时发送验证信息
------解决方案--------------------

要是你判断 网址的来源 这样可能视乎能 试试看
------解决方案--------------------
session 判断用户权限
不同权限 响应不同结果
------解决方案--------------------
在后台用session判断,级别不够不让其发送
------解决方案--------------------
后台验证用户,根据用户不同的权限进行数据的控制啊
------解决方案--------------------
先判断请求页面的域和当前页面在不在同一个
再判断登陆的session是否有足够的权限试试看