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

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

内容简介:防盗链就是防止别人的网站代码里面盗用服务器的图片、文件、视频等相关资源[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配置图片防盗链以及隐藏版本信息》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

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

学习JavaScript数据结构与算法(第2版)

学习JavaScript数据结构与算法(第2版)

[巴西] Loiane Groner / 邓 钢、孙晓博、吴 双、陈 迪、袁 源 / 人民邮电出版社 / 2017-9 / 49.00元

本书首先介绍了JavaScript 语言的基础知识以及ES6 和ES7 中引入的新功能,接下来讨论了数组、栈、队列、链表、集合、字典、散列表、树、图等数据结构,之后探讨了各种排序和搜索算法,包括冒泡排序、选择排序、插入排序、归并排序、快速排序、堆排序、计数排序、桶排序、基数排序、顺序搜索、二分搜索,然后介绍了动态规划和贪心算法等常用的高级算法以及函数式编程,最后还介绍了如何计算算法的复杂度。一起来看看 《学习JavaScript数据结构与算法(第2版)》 这本书的介绍吧!

html转js在线工具
html转js在线工具

html转js在线工具

RGB CMYK 转换工具
RGB CMYK 转换工具

RGB CMYK 互转工具