关于使用apache中setenvif模块防止图片盗连的衍生问题
2005-02-12 | 2:24恩,前不久,刚刚指责了一则文章中的错误,今天由于想尝试禁止mp3播放,所以进行了如下设置
SetEnvIfNoCase Referer "^http://skylove.study-area.org/" local_ref=1
<FilesMatch ".mp3">
Order Allow,Deny
Allow from env=local_ref
</FilesMatch>
结果后来很郁闷地发现,的确禁止了外边的站点引用,但是我自己也无法播放了。。。到底怎么回事呢??
首先,我把mp3那里改为gif,发现阻止功能很正常。。。那么看来就是另有玄机了???
把Referer的blog抓下来看看吧。。。。于是。。。把httpd.conf里的CustomLog /logs/referer_log referer 启用起来,之后tail一看。。。
http://skylove.study-area.org/bbs/read_233_1.htm -> /bbs/images/wind/read/profile.gif
http://skylove.study-area.org/bbs/read_233_1.htm -> /bbs/images/wind/read/message.gif
http://skylove.study-area.org/bbs/read_233_1.htm -> /bbs/images/wind/read/email.gif
- -> /<某路径>/NET-xxxx.mp3
- -> /<某路径>/NET-xxx.mp3
- -> /<某路径>/NET-xx.mp3
倒。。。为什么到了mp3这里就没有了引用路径了?????后来一下,是不是因为嵌入object代码的时候根本就获取不到路径呢???? 再仔细一看,果然!!比如swf文件的调用也是如此,没办法获得是由哪个页面申请的。。。
哎,看来防止mp3,swf这些被盗用,只有从设置本地cookie等方式下手了??? 那如果我不用object标记,改用w3c支持的embed是否可以呢???我又测试了一次,结论是。。。。依然不可以!!!
以上我是在apache 1.33中测试得到的结果,2.x的我没试。转载的兄弟如果"忘记"保留俺的版权不要紧,记得把版本敲上去,否则会害别人的。
标签:apache, blog, CU, mp3, 图片相关日志





