引用其它网站php文件,防止其它网站引用自己网站的链接

时间:2014-03-22  发布人:SHX  浏览次数:2149  评论:0

网站的图片被盗链,是一件让人非常郁闷的事情。盗链不仅盗用图片,更直接的问题是用户在下载盗链人网站上的图片时,会给服务器带来压力,导致日志中的访问记录暴涨,而带宽被耗尽。为了打击盗链行为,这里介绍一种方法,让盗链者的某些小伎俩不能得逞--APACHE防盗技术。

对APACHE服务器进行设置后,当盗链者盗链网站的图片时,将输出如图所示的结果。

62f29c92f19b2deb5571e10b29191c4c.png

要防止网站图片被盗链,就有必要先了解盗链的手段,基本可以分为以下两种:

1.盗链者直接使用图片链接引用网站上的图片。

防止这种盗链有两种方法:通过Apache服务器进行控制和使用SESSION变量在程序中进行控制。

2.盗链者直接从网站上下载图片并且复制使用。

这种方式不能完全阻止,只能让它的下载更加的困难而已。防止方法有屏蔽页面中的右键、禁止对网页的下载等。(不过人家一个QQ截图就搞定了,没办法啊。)

下面说说第一种:

Apache防盗链技术的原理与PHP伪静态技术的原理是相同的(可参照http://www.20shx.com/article_2/2014-02-11/17.html),都需要应用Apache的 mod_rewrite.so 模组。

1.Apache服务器的配置文件httpd.conf的修改方法#LoadModule rewrite_module modules/mod_rewrite.so

将“#”去掉

2.查找httpd.conf文件,找到其中的AllowOverride项,将他的值都修改成All。保存并重启服务器,使修改神效。

3.在网站目录下创建 .htaccess 文件,定义防止网站图片被盗链的方法。SetEnvIfNoCase Referer "^http://192.168.1.59/" local_ref=1

Order Allow,Deny

Allow from env=local_ref

// Referer字段:当Apache处理一个请求时,将检测头信息里的Referer字段,并且设置环境变量local_ref为1,如果请求从本身的网站地址开始,即是本站的一个页面。

// ^http://192.168.1.59/ :是一个正则表达式,为了设置环境变量,Referer值必须与其匹配。

// "NoCase"指令:定义正则表达式的值,忽略字符串的大小写。

//  Order Allow,Deny : 设置Apache对当前的请求,将执行列表中的Allow指令,然后重复进行Deny指令。

local_ref:设置了local_ref环境变量的请求,而任何其他的请求将被拒绝,因为它们不符合Allow的条件并且默认是拒绝访问的。

这就是通过Apache服务器来防止图片盗链。后面将介绍SESSION变量防止图片被盗链的方法。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值