当我们在网页里引用站外图片时,常会出现这样的情况.
问题 1:
服务器怎么知道,这个图片的引用是在站外被引用的呢?
还有在网站的统计结果,统计用户从何而来。
问题2
统计时,是如何得知用户从哪里来到网站的?
在Http协议中,头信息里,有一个重要的选项:Referer
Referer:代表网页的来源,即上一页的地址。
如果是直接在浏览器输入地址,回来尽力啊,则没有referer头。
这也就是说,为什么服务器知道我们的图片是从哪里引用的,也知道我们的客户从那个网站链接点击进来的。
问题3
具体是如何封杀的站外链接?或者说如何配置apache服务器,用于图片防盗链?
原理:
在web服务器层面,根据http协议的referer头信息,来判断。
如果来自站外,则统一重写到一个很小的防盗链提醒图片上去。
具体步骤:
1 打开apache重写模块 mod_rewrite
打开httpd.conf文件
去掉前面的#号,并重启apache
2 在需要防盗的网站或目录,写.htaccess文件,并制定防盗链规则。
1) 新建一个.htaccess文件。
2) 重写规则:
那种情况重写:
是jpeg/jpg/gif/png图片时重写,并且referer头与localhost不匹配时重写。
3) 怎么重写?
统一rewirte 到某防盗链
RewriteEngine On
Rewrite Base
RewriteCode %{REQUEST_FILENAME} .*\.(jpg|jpeg|gif|png) [NC] //NC不区分大小写
RewriteCode %{HTTP_REFERER} !localhost [NC] //NC不区分大小写 如果不是本站就重写。
RewriteRule .* ‘http://www.zixue.it/static’ //图片网址
如何指定?
自然是分析referer信息,如果不是来自本站
联系客服