假设咱们的网站域名是 www.123.com ,某个图片地址是 www.123.com/p_w_picpaths/111.jpg ,某个网站为了借用这张图而直接把这个地址放到那个网站上的话,他的用户能够直接从他的网站界面上查看这个图片,而实际上浏览这个图片是从咱们的网站上访问的。这样,这个图片所产生的带宽开销由咱们承担,但看这个图片的客户倒是人家的。因此,为了不别人盗咱们的资源,须要把资源限制一下。apache
在对应虚拟主机配置文件中,添加以下语句:vim
[root@localhost ~]# vim /usr/local/apache2/conf/extra/httpd-vhosts.conf SetEnvIfNoCase Referer "^http://.*\.123\.com" local_ref SetEnvIfNoCase Referer ".*\.test\.com" local_ref SetEnvIfNoCase Referer "^$" local_ref <filesmatch "\.(txt|doc|mp3|zip|rar|jpg|gif|jpeg)"> Order Allow,Deny Allow from env=local_ref </filesmatch>
说明:在这段配置中涉及到了一个名词 referer,它其实就是上次访问的网站连接。咱们是根据来源连接作限制的,若是来源连接不是咱们想要的,就直接拒绝,这就是防盗链的原理。
bash