+ -
当前位置:首页 → 问答吧 → 防止其他网站通过PHP盗链

防止其他网站通过PHP盗链

时间:2010-07-23

来源:互联网

Apache可以防止直接访问方式的网站图片盗链。

例如:网站A想通过以下方式直接盗取你网站的图片
<img src="www.yourdomain.com/images/yourpicture.jpg" />

上面这种直接的盗链方式是可以通过Apache设置来防止的。

但是,如果网站的图片不是直接访问,而是通过php文件来间接访问。上面的方法没有效果。
例如:<img src="www.yourdomain.com/attachments.php?imageid=100" />

据说也可以通过Apache来防止上面的盗链,不知道哪位也遇到到相似的问题,而且解决了。期待指点。


作者: yihu2009   发布时间: 2010-07-23

引用楼主 yihu2009 的回复:
但是,如果网站的图片不是直接访问,而是通过php文件来间接访问。上面的方法没有效果。
例如:<img src="www.yourdomain.com/attachments.php?imageid=100" />

这个,也是通过你的网站上的PHP文件来实现的.
既然你开了PHP的口子,所以就需要在你的PHP文件里进行防范控制,这是理所当然的.
在你的PHP里,判断一下访问请求的来源,如果不是本网站,就属于被其它网站调用的,那就不显示图像即可.

作者: theforever   发布时间: 2010-07-23

RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://www.yourdomain.com/.*$ 
RewriteCond %{QUERY_STRING} ^imageid.*
RewriteRule ^/attachements.* - [F]

作者: icy_csdn   发布时间: 2010-07-23

引用 1 楼 theforever 的回复:

这个,也是通过你的网站上的PHP文件来实现的.
既然你开了PHP的口子,所以就需要在你的PHP文件里进行防范控制,这是理所当然的.
……


是这个理。不过,使用Apache来控制会更好,而且PHP的代码我没修改。

作者: yihu2009   发布时间: 2010-07-27

引用 2 楼 icy_csdn 的回复:

RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://www.yourdomain.com/.*$
RewriteCond %{QUERY_STRING} ^imageid.*
RewriteRule ^/attachements.* - [F]


谢谢!
不过,这个配置貌似没有效果,你测试过吗?

作者: yihu2009   发布时间: 2010-07-27

这个没问题,根据你的实际情况,进行相应调整。

作者: icy_csdn   发布时间: 2010-07-28

要看attachments.php是跳转还是直接去读的文件

作者: ashchen   发布时间: 2010-07-31

热门下载

更多