浏览 5000 次
锁定老帖子 主题:AJAX对系统安全性提出了更大的挑战
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2006-08-02
很不幸,我们的项目也做到了,神轻气爽的同时,这让我很怕怕 AJAX可以让我们为用户提供非常灵活的强大的用户体验,但数据安全成了问题,用户将页面保存一下,或者去IE CACHE中找到这些文件,就有了一个HTML+JS的客户端,用任何一个网页工具或者写字板就可以打开编辑,自定义自己任何想要的功能 或者用户直接用一个可执行JS的浏览器,比如遨游(MYIE),想做什么都可以 服务器的权限能够做到滴水不露吗?这很难说 比如做“部门+列”混合权限,就要在服务器端过滤一遍数据 每一个功能我们都要在服务器端校验真是让人头痛的事儿 有没有好的实践或者框架之类的思路 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2006-08-02
引用 每一个功能我们都要在服务器端校验真是让人头痛的事儿
服务器端效验是必须,客户端效验只是让用户体验更好一些 而查看JS源文件你可以通过压缩,混淆等. 我现在使用的JS压缩将几十个JS文件压缩成一个文件并且只有一行,能看懂我也服了那些牛人 |
|
返回顶楼 | |
发表时间:2006-08-02
本来B/S,C/S程序也有这个问题,只是攻击起来稍微复杂些,现在HTML+JS让问题更明显了
谢谢楼上,服务器端数据校验还好说,功能校验就繁了, 每一个权限都有其ID,而这个ID,不能作为参数传过去(否则攻击者可以修改这个参数),考虑最好以对外API形式体现 也就是说,如果一个API对应到了两个权限ID,那么就会有安全问题产生 也就是说RPC API要跟权限关联,RPC框架要支持权限的实施 |
|
返回顶楼 | |
发表时间:2006-08-02
”服务器的权限能够做到滴水不露吗?这很难说 “
Server端暴露出来的接口,因为谁都可以访问的,所以一定要有检查。B/S的应用,最终的变更总是在服务端完成,你必须保证服务端的接口不会被误用、或者利用。这个跟是否AJAX没什么关系吧? 当然有可能因为AJAX的缘故,服务端暴露的接口更多了。 |
|
返回顶楼 | |
发表时间:2006-08-03
可以通过统一接口进行访问,在接口中添加安全层,应该好的多。
|
|
返回顶楼 | |
发表时间:2006-08-03
虚的就不说了。
有个代理代理层好处多多。 就如DWR框架,logic层提供的接口太小,偶把几个接口合并一下,放到代理层大接口里。 校验在代理层解决,或者在DwrServlet里面拦截。 另外就你说: DwrEngine.logicMethod(id); ***.action?id=1; 其实显示的内容一样。DwrEngine.代理方法(id);这样,谁也搞不懂了。 就我现在感觉,如果你原来在action调用了N次logic方法。那你的每个代理层接口里面包括N个logic方法调用。 |
|
返回顶楼 | |
发表时间:2006-08-04
badqiu 写道 引用 每一个功能我们都要在服务器端校验真是让人头痛的事儿
我现在使用的JS压缩将几十个JS文件压缩成一个文件并且只有一行,能看懂我也服了那些牛人 我补充一点:Intellij IDEA能够将js代码reformat |
|
返回顶楼 | |
发表时间:2006-08-04
fsword 写道 badqiu 写道 引用 每一个功能我们都要在服务器端校验真是让人头痛的事儿
我现在使用的JS压缩将几十个JS文件压缩成一个文件并且只有一行,能看懂我也服了那些牛人 我补充一点:Intellij IDEA能够将js代码reformat 很多JS压缩和模糊处理工具都能Reformat Code~ 不论是不是用AJAX,安全问题自古以来一直是个话题, 用了AJAX后,带来快速响应和提升用户体验的同时,更是不能忽视安全这一块~ |
|
返回顶楼 | |