当我们在网页里引用站外图片时,常会出现这样的情况. 问题 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./static’ //图片网址 如何指定? 自然是分析referer信息,如果不是来自本站 |
|