apache 下实现防盗链

建站服务器

什么是盗链

盗链是指在自己的页面上展示一些并不在自己服务器上的内容。通常的做法是通过技术手段获得它人服务器上的资源地址,

绕过别人的资源展示页面,直接在自己的页面上向最终用户提供此内容。

比较常见的是一些小站盗用大站的资源(图片、音乐、视频),

对于这些小站来说,通过盗链的方法可以减轻自己服务器的负担,因为真实的空间和流量均是来自别人的服务器。

对大站造成的影响确实徒徒增加了服务器压力,用户、流量还不是自己的。

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

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>

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

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

更多关于云服务器域名注册,虚拟主机的问题,请访问西部数码官网:www.west.cn

赞(0)
声明:本网站发布的内容(图片、视频和文字)以原创、转载和分享网络内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-62778877-8306;邮箱:fanjiao@west.cn。本站原创内容未经允许不得转载,或转载时需注明出处:西部数码知识库 » apache 下实现防盗链

登录

找回密码

注册