配置Apache实现防盗链
1.防盗链就是防止别人的网站代码里面盗用服务器的图片、文件、
视频等相关资源
2.如果别人盗用网站的这些静态资源,明显的是会增大服
务器的带宽压力
3.所以作为网站的维护人员,要杜绝我们服务器的静态资
源被其他网站盗用
使用两台主机模拟盗链:
两台主机配置与功能如下
IP地址 | 域名 | 用途 |
---|---|---|
192.168.2.19 | www.kxr.com | 源主机 |
192.168.2.4 | www.dt.com | 盗链网站 |
盗链模拟步骤:
1.两台主机配置测试页面
2.盗链网站的测试网页page盗 用源主机目录page/image的一个logo.jpg文件
3.在Windows中访问http://a.test2.com/page.html,并用Fiddler抓包工具的查看效果图
检查Apache是否安装了mod_ rewrite模块
1./usr/ocal/apache/bin/apachectl -t -D DUMP_MODULES
2.如果输出中没有rewrite_module (static),, 则说明编译时没有安装
mod_rewrite模块
如果没有安装则要重新编译安装
1…/configure --enable-rewrite…
2.make &&make install
配置规则变量说明:
1.%{HTTP_ REFERER}: 浏览header中的链接字段,存放一一个链
接的URL,代表是从哪个链接访问所需的网页
2.!^:不以后面的字符串开头
3…*$:以任意字符结尾
4.NC:不区分大写
5.R:强制跳转
规则匹配说明:
1.RewriteEngine On:打开网页重写功能
2.RewriteCond:设置匹配规则
3.RewriteRule:设置跳转动作
规则匹配:
1.如果相应变量的值匹配所设置的规则,则逐条往下处理;如果不匹配,则往后的规则不再匹配
配置操作演示
修改配置文件启用防盗链功能并设置规则:
RewriteEngine On
RewriteCond %{
HTTP_REFERER} !^http://test.com/.*$ [NC]*
RewriteCond %{
HTTP_REFERER} !^http://test.com$ [NC]
RewriteCond %{
HTTP_ REFERER} !^http://www.test.com/.*$ [NC]
RewriteCond %{
HTTP_ REFERER} !^http://www.test.com$ [NC]
RewriteRule .*\.(gif|jpg|swf)$ http://www.test.com/error.html [R,NC]
配置Apache隐藏版本信息
1.Apache的版本信息,透露了一定的漏洞信息,从而给网站带来安全隐患
2.生产环境d要配置Apache隐藏版本信息
3.可使用Fiddler抓包工具分析
4.配置Apache隐藏版本信息
5.将主配置文件httpd.conf以下行注释去掉
#Include conf/extra/httpd-default. conf
修改httpd-default.conf文件两个地方
Server Tokens Full修改为Server Tokens Prod
将ServersSignature On修改为ServersSignature Off
6.重启httpd服务,访问网站,抓包测试
——————————————————————————————————————————————
Demo:盗链及防盗链
[root@localhost ~]# yum install bind -y
[root@localhost ~]# vim /etc/named.conf
options {
listen-on port 53 {
any; }; //括号内127.0.0.1改为any
listen-on-v6 port 53 {
::1; };
directory "/var/named";
dump-file "/var/named/data/cache_dump.db"