详解Apache配置图片防盗链以及隐藏版本信息

栏目: 服务器 · Apache · 发布时间: 7年前

内容简介:防盗链就是防止别人的网站代码里面盗用服务器的图片、文件、视频等相关资源[root@Init5 ~]# reboot #重启生效[root@Init5 ~]# yum remove httpd #卸载httpd相关包

简介

防盗链就是防止别人的网站代码里面盗用服务器的图片、文件、视频等相关资源

实验环境

  • 系统环境:CentOS6.5
  • 相关源码包下载地址: 百度云下载 密码:pko3
IP地址 域名 用途
192.168.100.103 www.bt.com 源主机
192.168.100.104 www.test.com 盗链网站

搭建步骤

一、准备工作

1、关闭防火墙及selinux

[root@Init5 ~]# chkconfig iptables off #随开机关闭iptables

[root@Init5 ~]# vim /etc/sysconfig/selinux

详解Apache配置图片防盗链以及隐藏版本信息

[root@Init5 ~]# reboot #重启生效

2、卸载以RPM方式安装httpd相关包

[root@Init5 ~]# rpm -qa | grep "httpd"

详解Apache配置图片防盗链以及隐藏版本信息

[root@Init5 ~]# yum remove httpd #卸载httpd相关包

3、搭建DNS服务器

如果没有搭建以上两个服务的朋友,请查看我的其他帖子有详细介绍

http://blog.51cto.com/11905606/2156944

二、搭建httpd服务

1、安装gcc、gcc-c++、make、arp、arp-util、pcre等 工具

[root@localhost ~]# yum -y install gcc gcc-c++ make zlib-devel #安装 C语言 编译器以及make

[root@localhost ~]# tar -zxvf apr-1.4.6.tar.gz -C /usr/src/

[root@localhost ~]# cd /usr/src/apr-1.4.6/

[root@localhost apr-1.4.6]# ./configure prefix=/usr/local/apr && make && make install

[root@localhost ~]# tar -zxvf apr-util-1.4.1.tar.gz -C /usr/src/

[root@localhost ~]# cd /usr/src/apr-util-1.4.1/

[root@localhost apr-util-1.4.1]# ./configure prefix=/usr/local/apr-util --with-apr=/usr/local/apr && make && make install

[root@localhost ~]# tar -zxvf pcre-8.10.tar.gz -C /usr/src #支持正则

[root@localhost ~]# cd /usr/src/pcre-8.10/

[root@localhost pcre-8.10]# ./configure prefix=/usr/local/pcre && make && make install

2、配置编译安装httpd

[root@Init5 ~]# tar zxvf httpd-2.4.2.tar.gz -C /usr/src/

[root@Init5 ~]# cd /usr/src/httpd-2.4.2/

[root@Init5 httpd-2.4.2]# ./configure \

--prefix=/usr/local/httpd \

--with-apr=/usr/local/apr \

--with-pcre=/usr/local/pcre \

--enable-deflate \

--enable-so \

--enable-rewrite \

--enable-charset-lite \

--enable-cgi

参数解析:

prefix:指定安装目录

enable-deflate:启用mod_deflate模块

enable-so:启用动态加载模块支持,需要什么功能可以动态加载

enable-rewrite:启用网页地址重写功能,实现伪静态

enable-charset-lite:默认字符集

enable-cgid:启用CGID

[root@Init5 httpd-2.4.2]# make && make install #编译及编译安装

3、添加系统服务

[root@Init5 ~]# cp /usr/local/httpd/bin/apachectl /etc/init.d/httpd

[root@Init5 ~]# vim /etc/init.d/httpd

第2、3两行添加以下参数:

# chkconfig:2345 85 15

# description:Apache is a World Wide Web server.

[root@Init5 init.d]# chmod +x /etc/init.d/httpd

[root@Init5 init.d]# chkconfig --add httpd

4、建立软链接,方便管理

[root@Init5 ~]# mkdir -p /etc/httpd

[root@Init5 ~]# ln -s /usr/local/httpd/conf/ /etc/httpd/ #优化配置文件路径

[root@Init5 ~]# ln -s /usr/local/httpd/bin/* /usr/local/bin/ #优化命令路径

5、修改配置文件

[root@Init5 ~]# vim /etc/httpd/conf/httpd.conf

修改以下参数:

ServerName www.bt.com:80 #填写完全主机名

Listen 192.168.100.103:80 #监听本地IP

6、启动httpd服务

[root@Init5 ~]# service httpd start

[root@Init5 ~]# netstat -anpt | grep ':80'

详解Apache配置图片防盗链以及隐藏版本信息

三、模拟盗链

1、编辑源主机测试页面

[root@Init5 ~]# cp logo.jpg error.jpg /usr/local/httpd/htdocs/ #将测试图片拷贝到http站点目录中

[root@Init5 ~]# cd /usr/local/httpd/htdocs/ #进入站点目录

[root@Init5 htdocs]# vim index.html #编辑默认首页

<html>

<body>

<h1>It works!</h1>

<img src='logo.jpg' /> #首页添加图片

</body>

</html>

2、访问测试源主机测试页面

详解Apache配置图片防盗链以及隐藏版本信息

详解Apache配置图片防盗链以及隐藏版本信息

3、测试盗链网站盗用源主机图片

[root@www ~]# cd /usr/local/httpd/htdocs/ #进入盗链主机站点目录

[root@www htdocs]# vim index.html #编辑默认首页

<html>

<body>

<h1>It works!</h1>

<img src=' http://www.bt.com/logo.jpg'/> ; #注意使用的源主机的图片地址

</body>

</html>

4、访问测盗链网站测试页面

详解Apache配置图片防盗链以及隐藏版本信息

四、源主机配置防盗链

1、修改主配置文件

[root@Init5 ~]# vim /etc/httpd/conf/httpd.conf #编辑主配置文件

LoadModule rewrite_module modules/mod_rewrite.so #约146行,开启重写功能模块

修改编辑以下参数约213行

DocumentRoot "/usr/local/httpd/htdocs"

<Directory "/usr/local/httpd/htdocs"> #定义的站点目录

Options Indexes FollowSymLinks

AllowOverride None

Require all granted

RewriteEngine On

RewriteCond %(HTTP_REFERER) !^ http://bt.com/.*$[NC ]

Rewritecond %(HTTP_REFERER) !^ http://bt.com$[NC ]

Rewritecond %(HTTP_REFERER) !^ http://www.bt.com/.*$[NC ]

Rewritecond %(HTTP_REFERER) !^ http://www.bt.com$[NC ]

Rewriterule .*.(gif|jpg|swf)$ http://www.bt.com/error.png

</Directory>

配置规则变量说明:

(图片在哪个目录下,就在哪个目录做防盗链的专门设置)

%{HTTP_REFERER}:浏览header中的链接字段,存放一个链接的URL,代表是从哪个链接访问所需的网页

!^:不以后面的字符串开头

.*$:以任意字符结尾

NC:不区分大写

R:强制跳转

规则匹配说明:

RewriteEngine On:打开网页重写功能

RewriteCond:设置匹配规则

RewriteRule:设置跳转动作

规则匹配:如果相应变量的值匹配所设置的规则,则逐条往下处理;如果不匹配,则往后的规则不再匹配

2、重启httpd服务

[root@Init5 ~]# httpd -t

详解Apache配置图片防盗链以及隐藏版本信息

[root@Init5 ~]# /etc/init.d/httpd restart # 重启httpd服务

[root@Init5 ~]# apachectl -t -D DUMP_MODULES | grep 'rewrite'

详解Apache配置图片防盗链以及隐藏版本信息

3、测试盗链

详解Apache配置图片防盗链以及隐藏版本信息

五、配置隐藏版本信息

1、修改前抓包测试

详解Apache配置图片防盗链以及隐藏版本信息

2、修改主配置文件

[root@Init5 ~]# vim /etc/httpd/conf/httpd.conf

Include conf/extra/httpd-default.conf #约477行,开启默认配置

3、修改默认配置文件

[root@Init5 ~]# vim /etc/httpd/conf/extra/httpd-default.conf

ServerTokens Prod #约55行 默认参数是将完整信息全部显示出来,将值改为Prod(简短信息)

ServerSignature Off #约65行 默认就是Off,关闭服务器版本和正在提供服务的ServerName

4、重启httpd服务

[root@Init5 ~]# /etc/init.d/httpd restart

5、再次抓包测试

详解Apache配置图片防盗链以及隐藏版本信息


以上所述就是小编给大家介绍的《详解Apache配置图片防盗链以及隐藏版本信息》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Data Structures and Algorithms in Java

Data Structures and Algorithms in Java

Robert Lafore / Sams / 2002-11-06 / USD 64.99

Data Structures and Algorithms in Java, Second Edition is designed to be easy to read and understand although the topic itself is complicated. Algorithms are the procedures that software programs use......一起来看看 《Data Structures and Algorithms in Java》 这本书的介绍吧!

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

在线进制转换器
在线进制转换器

各进制数互转换器

UNIX 时间戳转换
UNIX 时间戳转换

UNIX 时间戳转换