Apache网页优化之防盗链和隐藏版本号

Apache网页优化之防盗链

防盗链的作用

防盗链就是防止别人的网址代码里面盗用服务器的图片,文件,视频等相关资源
如果别人盗用网站的这些静态资源,明显的是会增大服务器的带宽压力
所以作为网站的维护人员,要杜绝我们服务器的静态资源被其他网站盗用

防盗链的配置规则

%{}HTTP_REFERER}: 浏览header中的链接字段,存放一个链接的URL,代表是从哪个链接访问所需的网页
!^: 不以后面的字符串开头
.*$: 以任意字符结尾
NC: 不区分大写
R:强制跳转

防盗链规则匹配说明

RewriteEngine On: 打开网页重写功能
RewriteCond: 设置匹配规则
RewriteRule: 设置跳转动作
如果相应变量的值匹配所设置的规则,则逐条向下处理;如果不匹配则往后的规则不在匹配

开始实验

安装DNS软件包

[[email protected] ~]# yum install bind -y  #安装DNS解析让实验更加直观
已安装:
  bind.x86_64 32:9.11.4-9.P2.el7                                                       

作为依赖被安装:
  bind-export-libs.x86_64 32:9.11.4-9.P2.el7                                           

作为依赖被升级:
  bind-libs.x86_64 32:9.11.4-9.P2.el7       bind-libs-lite.x86_64 32:9.11.4-9.P2.el7
  bind-license.noarch 32:9.11.4-9.P2.el7    bind-utils.x86_64 32:9.11.4-9.P2.el7
  dhclient.x86_64 12:4.2.5-77.el7.centos    dhcp-common.x86_64 12:4.2.5-77.el7.centos
  dhcp-libs.x86_64 12:4.2.5-77.el7.centos  

完毕!

配置主配置文件

[[email protected] ~]# vim /etc/named.conf
options {
        listen-on port 53 { any; };  #监听所有地址
        listen-on-v6 port 53 { ::1; };
        directory       "/var/named";
        dump-file       "/var/named/data/cache_dump.db";
        statistics-file "/var/named/data/named_stats.txt";
        memstatistics-file "/var/named/data/named_mem_stats.txt";
        recursing-file  "/var/named/data/named.recursing";
        secroots-file   "/var/named/data/named.secroots";
        allow-query     { any; };  #any

配置区域配置文件

[[email protected] ~]# vim /etc/named.rfc1912.zones
#增加的
zone "kgc.com" IN { #定义域名
type master;
file "kgc.com.zone"; #定义区域数据配置文件
allow-update { none; };
};

配置区域数据配置文件

[[email protected] named]# cd /var/named/
[[email protected] named]# cp -p named.localhost kgc.com.zone
[[email protected] named]# vim kgc.com.zone
$TTL 1D
@       IN SOA  @ rname.invalid. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
        NS      @
        A       127.0.0.1
www IN  A       192.168.136.136  #增加一行需要解析的地址

[[email protected] named]# systemctl stop firewalld.service
[[email protected] named]# setenforce 0
[[email protected] named]# systemctl start named

挂载宿主机的共享目录,我们需要源码包,要的私信我

[[email protected] named]# mkdir /chen
[[email protected] named]# mount.cifs //192.168.100.23/LAMP-C7 /chen
Password for [email protected]//192.168.100.23/LAMP-C7:
[[email protected] named]# cd /chen/
[[email protected] chen]# ls
apr-1.6.2.tar.gz                  Discuz_X2.5_SC_UTF8.zip  mysql-5.6.26.tar.gz
apr-util-1.6.0.tar.gz             fiddler.exe              php-5.6.11.tar.bz2
awstats-7.6.tar.gz                httpd-2.4.29.tar.bz2     tu9892_14.jpg
cronolog-1.6.2-14.el7.x86_64.rpm  LAMP-php5.6.txt

解压

[[email protected] abc]# tar jxvf httpd-2.4.29.tar.bz2 -C /opt  #解压到OPT底下
[[email protected] abc]# tar zxvf apr-1.6.2.tar.gz -C /opt/
[[email protected] chen]# tar zxvf apr-util-1.6.0.tar.gz -C /opt/

移动

[[email protected] abc]# cd /opt
[[email protected] opt]# ls
apr-1.6.2  apr-util-1.6.0  httpd-2.4.29  rh
[[email protected] opt]# mv apr-1.6.2/ httpd-2.4.29/srclib/apr #移动到这个目录底下
[[email protected] opt]# mv apr-util-1.6.0/ httpd-2.4.29/srclib/apr-util
[[email protected] opt]# ls
httpd-2.4.29  rh
[[email protected] opt]# cd httpd-2.4.29 /

安装环境包

calhost httpd-2.4.29]#
yum -y install gcc gcc-c++ make pcre-devel zlib-devel expat-devel pcre perl

安装Apache底层功能组件

./configure --prefix=/usr/local/httpd \  #指定路径
--enable-deflate \  #压缩功能
--enable-so \  #核心模块开启
--enable-rewrite \  #开启重写功能,防盗链
--enable-charset-lite \  #支持字符集
--enable-cgi#通用网关接口

编译,安装,配置apache文件

[[email protected] httpd-2.4.29]# make
[[email protected] httpd-2.4.29]# make install
[[email protected] httpd-2.4.29]# vim /usr/local/httpd/conf/httpd.conf
Listen 192.168.136.136:80
#Listen 80
ServerName www.kgc.com:80

在默认网页中加入一张图片(网上随便找一张)

[[email protected] bin]# vim /usr/local/httpd/htdocs/index.html
[[email protected] bin]# cp /chen/tu9892_14.jpg /usr/local/httpd/htdocs/
[[email protected] bin]# ./apachectl start #执行脚本
[[email protected] bin]# netstat -ntap | grep 80 #查看端口
tcp 0 0 192.168.136.136:80 0.0.0.0:* LISTEN 96493/httpd

去客户端测试一下我们刚才配置的默认网页

下面我们来做个测试网站来去盗我们之前开启的网站图片

我们再开一台客户端去盗我们默认首页的图片,我们在这台客户端开启网站的程序

打开我们的网站程序

我们先到资源管理器当中开启文件扩展名

我们把之前访问的图片链接写到文件中再放到站点中,把扩展名要改成index.html


再查一下我们这台客户端的网址是多少

我们再到第一台客户端去访问第二台客户端的网址,是不是能盗成功这个图片

我们回到服务器开启防盗链功能,和加入匹配规则

[[email protected] bin]# vim ../conf/httpd.conf
oadModule rewrite_module modules/mod_rewrite.so  #开启防盗链功能
#在249行加入匹配规则
RewriteEngine On #开启功能
RewriteCond %{HTTP_REFERER} !http://kgc.com/.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://kgc.com$ [NC]
RewriteCond %{HTTP_REFERER} !^http://www.kgc.com/.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://www.kgc.com/$ [NC]
RewriteRule .*\.(gif|jpg|swf)$ http://www.kgc.com/wen.png

把我们那张防盗链的图片放到站点中

记得要把这种防盗链的图片事先要放到我们宿主机共享的目录中

[[email protected] bin]# cp /chen/wen.png ..//htdocs/
[[email protected] bin]# ls ../htdocs/  #查看一下有没有这种图片
index.html  tu9892_14.jpg  wen.png
[[email protected] bin]# ./apachectl stop
[[email protected] bin]# ./apachectl start

我们再去第一台客户端去测试一下,这个防盗链的图片有没有用

只要是我们网页的静态内容我们都可以做防盗链

网页优化之隐藏版本号

一般情况下,软件的漏洞信息和特定版本是相关的,因此,软件的版本号对***者来说很有价值

[[email protected] bin]# vim ../conf/httpd.conf 

Include conf/extra/httpd-default.conf #开启隐藏版本号

到隐藏版本号的配置文件中

[[email protected] httpd]# ls
bin    cgi-bin  error   icons    lib   man     modules
build  conf     htdocs  include  logs  manual
[[email protected] httpd]# cd conf
[[email protected] conf]# ls
extra  httpd.conf  magic  mime.types  original
[[email protected] conf]# cd extra/
[[email protected] extra]# ls
httpd-autoindex.conf  httpd-languages.conf           httpd-ssl.conf
httpd-dav.conf        httpd-manual.conf              httpd-userdir.conf
httpd-default.conf    httpd-mpm.conf                 httpd-vhosts.conf
httpd-info.conf       httpd-multilang-errordoc.conf  proxy-html.conf
[[email protected] extra]# vim httpd-default.conf
ServerTokens Prod #原本是版本号的全名,换成Pord
[[email protected] extra]# cd ../../
[[email protected] httpd]# cd bin/
[[email protected] bin]# ./apachectl stop
[[email protected] bin]# ./apachectl start

原文地址:https://blog.51cto.com/14449524/2445581

时间: 2025-01-09 08:53:21

Apache网页优化之防盗链和隐藏版本号的相关文章

Apache网页优化之防盗链

Apache优化实现防盗链 ■防盗链就是防止别人的网站代码里面盗用服务器的图片.文件.视频等相关资源■如果别人盗用网站的这些静态资源,明显的是会增大服务器的带宽压力■所以作为网站的维护人员,要杜绝我们服务器的静态资源被其他网站盗用■检查Apache是否安装了mod_ rewrite模块●/usr/local/apache/bin/apachectl -t -D DUMP MODULES●如果输出中没有rewrite module (static),则说明编译时没有安装mod rewrite模块■

Apache网页优化 ---配置防盗链

防盗链概述 防盗链就是防止别人的网站代码里面盗用服务器的图片文件.视频等相关资源.如果别人盗用网站的这些静态资源,明显的是会增大服务器的带宽压力.所以作为网站的维护人员,要杜绝我们服务器的静态资源被其他网站盗用. 配置规则变量说明 %{HTTP_ REFERER}:浏览header中的链接字段,存放一一个链接的URL,代表是从哪个链接访问所需的网页!^:不以后面的字符串开头.*$: 以任意字符结尾NC:不区分大写R:强制跳转 规则匹配说明 RewriteEngine On:打开网页重写功能Rew

Apache安全优化之防盗链

通常防盗链是为了防止图片,视频等信息被盗用.下面我将利用一个小实验模拟盗链与防盗链,实验用到如下两张图片:提供网站服务的主机我做了DNS解析,是使用域名www.benet.com 进行访问的客户机IP地址:192.168.100.30/24,盗链机IP地址:192.168.100.11/241.首先需要手工编译安装Apache,详细步骤可参考我之前手工编译安装Apache的博客:http://blog.51cto.com/13641879/21093422.安装前准备环境需要比之前多安装这个软件

Apache网页优化—网页压缩

Apache网页与安全优化 Apache网页优化 1.网页压缩2.网页缓存 Apache安全优化 1.配置防盗链2.隐藏版本信息 Apache网页优化概述 1.在企业中,部署Apache后只采用默认的配置参数,会引发网站很多问题,换言之默认配置是针对以前较低的服务器配置的,以前的配置已经不适用当今互联网时代 2.为了适应企业需求,就需要考虑如何提升Apache的性能与稳定性,这就是Apache优化的内容 3.优化内容 配置网页压缩功能工作模式的选择与参数优化配置防盗链配置隐藏版本号 gzip介绍

Apache网页优化---网页压缩与缓存

Apache网页优化概述 在企业中,部署Apache后只采用默认的配置参数,会引发网站很多问题,换言之默认配置是针对以前较低的服务器配置的,以前的配置已经不适用当今互联网时代 为了适应企业需求,就需要考虑如何提升Apache的性能与稳定性,这就是Apache优化内容 优化内容 配置网页压缩功能工作模式的选择与参数优化配置防盗链配置隐藏版本号... Apache的压缩模块 Apache实现网页压缩的功能模块包括mod_gzip模块mod_deflate模块Apache 1.x没有内建网页压缩技术,

Apache网页优化(一)-------- 网页压缩与缓存

Apache网页优化概念 在企业中,部署Apache后只采用默认的配置参数,会引发网站很多问题,换言之默认配置是针对以前较低的服务器配置的,以前的配置已经不适用当今互联网时代,为了适应企业需求,就需要考虑如何提升Apache的性能与稳定性,这就是Apache优化的内容. 优化内容: 配置网页压缩功能 配置网页缓存时间 配置防盗链 配置隐藏版本号 gzip介绍 配置Apache的网页压缩功能,是使用gzip压缩算法来对网页内容进行压缩后再传输到客户端浏览器. 作用 降低了网络传输的字节数,加快网页

Apache网页优化 ---隐藏版本号

(本文环境基于Apache网页优化系列) 概述 Apache的版本信息,透露了-定的漏洞信息,从而给网站带来安全隐患生产环境中要配置Apache隐藏版本信息可使用Fiddler抓包工具分析 配置Apache隐藏版本信息 1.将主配置文件httpd. conf以下行注释去掉 #Include conf/extra/httpd-default.conf 2.修改httpd-default. conf文件两个地方 3.Server Tokens Full修改为Server Tokens Prod 4.

Linux之nginx优化与防盗链

Linux之nginx优化与防盗链 Nginx是俄罗斯人编写的十分轻量级的HTTP服务器,Nginx,它的发音为"engine X",是一个高性能的HTTP和反向代理服务器,同时也是一个IMAP/POP3/SMTP 代理服务器.Nginx是由俄罗斯人 Igor Sysoev为俄罗斯访问量第二的 Rambler.ru站点开发. Nginx以事件驱动(epoll)的方式编写,所以有非常好的性能,同时也是一个非常高效的反向代理.负载平衡.但是Nginx并不支持cgi方式运行,原因是可以减少因

apache网页优化之压缩功能和缓存时间

Apache网页优化 优化概述 压缩功能优化 配置Apache的网页压缩功能,是使用gzip压缩算法对网页内容进行压缩后再传输到客户端浏览器 先把宿主机的共享目录共享到Linux下 [[email protected] ~]# smbclient -L //192.168.100.23/ #访问宿主机的共享文件 Enter SAMBA\root's password: OS=[Windows 10 Enterprise 17763] Server=[Windows 10 Enterprise 6