Apache配置防盗链

如果你的站点是一个图片站,时间久了会有很多人来借图片,有的人直接下载走了,还有的人直接取走图片的地址,比如网站域名 是www.123.com,图片地址为www.123.com/p_w_picpaths/111.jpg,那么他就可以把这个地址放到自己的网站上,它的用户还可以直接从他的网站上查看这个图片,而实际上浏览这个图片是从你的网站服务器上访问的。这样,这个图片所产生的带宽开销对于你来说没有任何意义,毕竟看这个图片的人不是你的客户,而是人家的。名表了这个道理,那我们就应该想到,把这些图片限制一下,凡是在第三方站点上,严禁访问你站点的图片。这如何配置呢?

      SetEnvIfNoCase Referer "^http://.*\.test\.com" local_ref

SetEnvIfNoCase Referer ".*\.aminglinux\.com" local_ref

SetEnvIfNoCase Referer "^http://10.211.55.7" local_ref

SetEnvIfNoCase Referer "^$" local_ref

  <filesmatch "\.(txt|doc|mp3|zip|rar|jpg|png|gif|js|css)">

    Order Allow,Deny

    Allow from env=local_ref

  </filesmatch>

说明:在这段配置中涉及到一个名词referer,他其实就是上次访问的网站链接。

因为上面我们配置中就有这个referer,我们是根据来源链接做限制的,如果来源链接并不是我们想要的,就直接拒绝,这就是防盗链的原理。当然,不只是图片,mp3,rar,zip等文件同样支持。