powerwind 发表于 2007-1-24 16:11

WEB应用程序如何保护资源

从教务处登录到我们平时查成绩的系统,然后查询个人信息,个人信息中会有一张相片,右键点击该图,查看属性。
我查自己相片的属性是 http://jwgldx.gdut.edu.cn/(orihwsrauz55pi4540asbau2)/readimagexs.aspx?xh=31030015**

此时,只要改变后面的数字,就可看到别人的相片。

如果是你,会怎样改呢?


有些网站防盗链,会作特别处理,如:
http://tuku.history.china.com/history/pic/2006-12-04/2544382_209802352.jpg

http://tuku.history.china.com/history/pic/2006-12-04/2544382_209802352.jpg


大家有兴趣的先讨论下。

PS:明天考完试了,我再好好想想

lyhiving 发表于 2007-1-24 16:14

很简单,判断是否在原网站或者是在白名单内的网站引用

powerwind 发表于 2007-1-24 16:18

白名单内?如果是学校的那种情况(可看别人的相片),应该每个用户的相片的白名单是自己和特殊管理员,对不对?还是根本不许在浏览器直接输入网址?

小I 发表于 2007-1-24 17:13

PPT,你把这个拿出来了...

好口才 发表于 2007-1-24 19:47

如果密码忘了,又不想到学院去查,有什么好方法自己搞吗?

powerwind 发表于 2007-1-24 23:58

楼上,系统不可能出这么大的漏洞吧?

bananapro 发表于 2007-2-6 09:58

- -!楼主还没学到家啊
先用会话session判断是否是已经登陆了的,如果是并且本图片id是自己的,图片就用程序取出来,不要连接到绝对路径

防止盗链的方法也有很多种,IIS就用一些防盗链组件吧,不过都要收钱的,apache的使用rewrite模块简单搞定!

wool王 发表于 2007-2-10 11:14

如果是动态载入的图片(如文件是以2进制放在库表中的,或访问时才从文件空间中加载的)可以判断session等验证信息。

如果直接指向web目录的文件空间(如http://www.aaa.com/xxx/aaa.jpg这种),可以通过在过滤器中做验证,比如在Filter中将所有指向xxx/*的请求做下判断,判断依据当然可以时session等验证信息或来源URL等。

楼下继续讨论。匿。

wool王 发表于 2007-2-10 11:17

补充下,甚至可以在Filter中对所有*.jpg做过滤。匿2。

bananapro 发表于 2007-2-10 22:02

^_^,顺便说一下,如果存到数据库,因为学生图片多,所以二进制流容易造成数据库肥大,不推荐

hexq 发表于 2007-2-13 10:58

加一个中间Filter,用于判断该请求是否合法。
另外不推荐图片的存放不推荐像这样的引用:/image/****.jpg 太不安全了。

MJOfPowerwind 发表于 2007-2-28 12:54

Filter \ FrontController

活在阳光下 发表于 2007-3-1 13:08

我是这么做的:
学生照片放在某目录下,而不是把二进制数据保存在数据库中,数据库中只保存路径或文件名,
而学生照片的文件名不是直接用学号命的,可以使用某种加密算法把学号加密后作为照片文件名.
经过实践还是可行的!!!
页: [1]
查看完整版本: WEB应用程序如何保护资源