论坛首页 Web前端技术论坛

AJAX对系统安全性提出了更大的挑战

浏览 5001 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2006-08-02  
一个好的AJAX,比如像dlee做的,客户端用js+html就可以了
很不幸,我们的项目也做到了,神轻气爽的同时,这让我很怕怕

AJAX可以让我们为用户提供非常灵活的强大的用户体验,但数据安全成了问题,用户将页面保存一下,或者去IE CACHE中找到这些文件,就有了一个HTML+JS的客户端,用任何一个网页工具或者写字板就可以打开编辑,自定义自己任何想要的功能
或者用户直接用一个可执行JS的浏览器,比如遨游(MYIE),想做什么都可以

服务器的权限能够做到滴水不露吗?这很难说

比如做“部门+列”混合权限,就要在服务器端过滤一遍数据
每一个功能我们都要在服务器端校验真是让人头痛的事儿

有没有好的实践或者框架之类的思路
   发表时间:2006-08-02  
引用
每一个功能我们都要在服务器端校验真是让人头痛的事儿


服务器端效验是必须,客户端效验只是让用户体验更好一些

而查看JS源文件你可以通过压缩,混淆等.
我现在使用的JS压缩将几十个JS文件压缩成一个文件并且只有一行,能看懂我也服了那些牛人
0 请登录后投票
   发表时间:2006-08-02  
本来B/S,C/S程序也有这个问题,只是攻击起来稍微复杂些,现在HTML+JS让问题更明显了

谢谢楼上,服务器端数据校验还好说,功能校验就繁了,
每一个权限都有其ID,而这个ID,不能作为参数传过去(否则攻击者可以修改这个参数),考虑最好以对外API形式体现
也就是说,如果一个API对应到了两个权限ID,那么就会有安全问题产生

也就是说RPC API要跟权限关联,RPC框架要支持权限的实施
0 请登录后投票
   发表时间:2006-08-02  
”服务器的权限能够做到滴水不露吗?这很难说 “

Server端暴露出来的接口,因为谁都可以访问的,所以一定要有检查。B/S的应用,最终的变更总是在服务端完成,你必须保证服务端的接口不会被误用、或者利用。这个跟是否AJAX没什么关系吧?

当然有可能因为AJAX的缘故,服务端暴露的接口更多了。
0 请登录后投票
   发表时间:2006-08-03  
可以通过统一接口进行访问,在接口中添加安全层,应该好的多。
0 请登录后投票
   发表时间:2006-08-03  
虚的就不说了。

有个代理代理层好处多多。
就如DWR框架,logic层提供的接口太小,偶把几个接口合并一下,放到代理层大接口里。 校验在代理层解决,或者在DwrServlet里面拦截。


另外就你说:
DwrEngine.logicMethod(id);
***.action?id=1;

其实显示的内容一样。DwrEngine.代理方法(id);这样,谁也搞不懂了。

就我现在感觉,如果你原来在action调用了N次logic方法。那你的每个代理层接口里面包括N个logic方法调用。
0 请登录后投票
   发表时间:2006-08-04  
badqiu 写道
引用
每一个功能我们都要在服务器端校验真是让人头痛的事儿

我现在使用的JS压缩将几十个JS文件压缩成一个文件并且只有一行,能看懂我也服了那些牛人

我补充一点:Intellij IDEA能够将js代码reformat
0 请登录后投票
   发表时间:2006-08-04  
fsword 写道
badqiu 写道
引用
每一个功能我们都要在服务器端校验真是让人头痛的事儿

我现在使用的JS压缩将几十个JS文件压缩成一个文件并且只有一行,能看懂我也服了那些牛人

我补充一点:Intellij IDEA能够将js代码reformat


很多JS压缩和模糊处理工具都能Reformat Code~

不论是不是用AJAX,安全问题自古以来一直是个话题,
用了AJAX后,带来快速响应和提升用户体验的同时,更是不能忽视安全这一块~
0 请登录后投票
论坛首页 Web前端技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics