欢迎光临散文网 会员登陆 & 注册

apache 下实现防盗链

2021-09-28 10:08 作者:Vecloud_  | 我要投稿


什么是盗链 
盗链是指在自己的页面上展示一些并不在自己服务器上的内容。通常的做法是通过技术手段获得它人服务器上的资源地址, 
绕过别人的资源展示页面,直接在自己的页面上向最终用户提供此内容。 
比较常见的是一些小站盗用大站的资源(图片、音乐、视频), 
对于这些小站来说,通过盗链的方法可以减轻自己服务器的负担,因为真实的空间和流量均是来自别人的服务器。 
对大站造成的影响确实徒徒增加了服务器压力,用户、流量还不是自己的。 

下面使用两台服务器来模拟这种情况 

172.16.16.6 www.wawa.com 是正常的网站 
172.16.16.6 www.wawawa.com 是盗链被阻止后跳转的网站 
172.16.16.16 www.aaa.com 是盗链网站 


本次实验需要基于Apache的虚拟主机和DNS这里就不介绍了。 
先来看看不做防盗链是什么效果 
首先配置172.16.16.6 www.wawa.com正常主机的图片网站和阻止跳转网站 
一样首先修改主配置文件vim /etc/httpd/conf/httpd.conf 添加虚拟主机 和监听80端口 




再来就是配置盗链网站172.16.16.16 www.aaa.com 

弄好了服务器的配置就来验证网站的效果 
正常网站 

盗链网站 为了区分于正常网站,网站的文字稍作改变作为区分 

阻止网站 

可以看到除了我修改的文字不同之外图片什么的无需配置直接就可以显示在盗链的网站上,这种情况肯定是要阻止的 
下面来配置防盗链 
使用yum 安装的肯定是有这个模块的 不放心的可以检查一下 
[root@localhost 20]# cd /etc/httpd/ 
[root@localhost httpd]# apachectl -D DUMP_MODULES | grep expires 

修改刚才的虚拟主机的文件vim /etc/httpd/conf/httpd.conf 把下面红字添加在正常服务的</VirtualHost>前 
<VirtualHost 172.16.16.6> 
DocumentRoot /opt/www/10 
ServerName www.wawa.com 
<Directory /opt/www/10 > 
AllowOverride None 
Require all granted 
RewriteEngine On 
 RewriteCond %{HTTP_REFERER} !^http://172.16.16.6/* 
 RewriteCond %{HTTP_REFERER} !^http://wawa.com/.*$ [NC] 
 RewriteCond %{HTTP_REFERER} !^http://wawa.com$ [NC] 
 RewriteCond %{HTTP_REFERER} !^http://www.wawa.com/.*$ [NC] 
 RewriteCond %{HTTP_REFERER} !^http://www.wawa.com$ [NC] 
 RewriteRule .*\.(gif|jpg|swf|png)$ http://www.wawawa.com/error.jpg [R,NC] 
</Directory> 
</VirtualHost> 

下面来访问盗链网站来看看结果 


到此,防盗链就算成功了。

了解更多网络知识关注:http://www.vecloud.com/

apache 下实现防盗链的评论 (共 条)

分享到微博请遵守国家法律