防盗链概述

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

配置规则变量说明

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


规则匹配说明

RewriteEngine On:打开网页重写功能
RewriteCond:设置匹配规则(条件)
RewriteRule:设置跳转动作(操作)


规则匹配

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


实例演示

环境部署

一台linux虚拟机作为源网站服务器,(IP:192.168.235.158/域名:www.bdqn.com)
一台win7 x64虚拟机作为测试客户机
一台win7 -2虚拟机作为盗链网站服务器(192.168.235.143)

演示开始

第一步:安装并配置DNS服务

1.安装服务

[root@localhost ~]# yum install bind -y

2.配置DNS主配置文件

[root@localhost ~]# vim /etc/named.conf         //编辑主配置文件
options {listen-on port 53 { any; };            //将括号内127.0.0.1替换为any...                                    //省略部分不做修改allow-query     { any; };         //将括号内localhost替换为any

3. 配置DNS区域配置文件

[root@localhost ~]# vim /etc/named.rfc1912.zones    //编辑区域配置文件
zone "bdqn.com" IN {                              //指定域名  type master;        file "bdqn.com.zone";                     //指定域名的区域数据文件allow-update { none; };
};

4.配置DNS区域数据配置文件

[root@localhost ~]# cd /var/named/                      //切换目录
[root@localhost named]# cp -p named.localhost bdqn.com.zone            //保留权限复制区域数据文件模板
[root@localhost named]# vim bdqn.com.zone                          //编辑区域数据文件
$TTL 1D
@       IN SOA  @ rname.invalid. (0       ; serial1D      ; refresh1H      ; retry1W      ; expire3H )    ; minimumNS      @A       127.0.0.1
www IN  A       192.168.235.158
//删除末行的内容,输入www IN  A       192.168.235.158 此段内容,地址为本地Linux的IP地址

5.开启DNS服务

[root@localhost named]# systemctl start named
[root@localhost named]# systemctl stop firewalld.service
[root@localhost named]# setenforce 0

第二步:编译安装Apache服务

1.远程共享获取LAMP工具包

[root@localhost named]# smbclient -L //192.168.56.1 //查看由Windows共享的内容Sharename       Type      Comment---------       ----      -------LAMP            Disk      [root@localhost named]# mkdir /abc                //创建目录
[root@localhost named]# mount.cifs //192.168.56.1/LAMP /abc
//远程挂载工具包到创建的目录
[root@localhost named]# cd /abc            //切换至目录查看
[root@localhost abc]# ls
apr-1.6.2.tar.gz                  game.jpg
apr-util-1.6.0.tar.gz             httpd-2.4.29.tar.bz2
awstats-7.6.tar.gz                install_lamp.sh
cronolog-1.6.2-14.el7.x86_64.rpm  mysql-5.6.26.tar.gz
Discuz_X2.5_SC_UTF8.zip           php-5.6.11.tar.bz2
error.png

**2.解压工具包的源码文件,并 **

//解压源码文件
[root@localhost abc]# tar jxvf httpd-2.4.29.tar.bz2 -C /opt/
...
[root@localhost abc]# tar zxvf apr-1.6.2.tar.gz -C /opt/
...
[root@localhost abc]# tar zxvf apr-util-1.6.0.tar.gz -C /opt/
...//查看/opt目录下解压后的组件包
[root@localhost abc]# ls /opt
apr-1.6.2  apr-util-1.6.0  httpd-2.4.29  rh//移动组件包到Apache服务的srclib目录中
[root@localhost abc]# cd /opt
[root@localhost opt]# mv apr-1.6.2/ httpd-2.4.29/srclib/apr
[root@localhost opt]# mv apr-util-1.6.0/ httpd-2.4.29/srclib/apr-util

3.安装编译语言环境,并configure配置Apache功能模块

[root@localhost opt]# cd httpd-2.4.29/
[root@localhost httpd-2.4.29]#  yum install gcc gcc-c++ pcre pcre-devel zlib-devel expat-devel -y
//安装语言环境
[root@localhost httpd-2.4.29]# ./configure \
> --prefix=/usr/local/httpd \
> --enable-deflate \
> --enable-so \
> --enable-rewrite \
> --enable-charset-lite \
> --enable-cgi
//配置相关功能模块

4.编译及编译安装

[root@localhost httpd-2.4.29]# make
//编译
...
[root@localhost httpd-2.4.29]# make install
//编译安装
...

5.开启Apache主配置文件中的相关模块

[root@localhost httpd-2.4.29]# vim /usr/local/httpd/conf/httpd.conf
//编辑Apache主配置文件198 ServerName www.bdqn.com:80
//删除文件的第198行前的#号注释,并将网址替换成之前创建的域名www.bdqn.com51 Listen 192.168.235.158:80//删除文件的第51行前的#号注释,并将监听地址替换为本地Linux的IP地址52 #Listen 80//在第52行前加上#来注释掉IPv6的监听156 LoadModule rewrite_module modules/mod_rewrite.so
//删除文件的第156行前的#号注释,开启重写功能模块

6.创建首页页并放入图片

[root@localhost httpd-2.4.29]# cd /usr/local/httpd/bin/
//切换至Apache服务的/bin目录中
[root@localhost bin]# vim /usr/local/httpd/htdocs/index.html
//编辑首页文件<html><body><h1>It works!</h1>
<img src="game.jpg"/>                          //将图片放入标签中
</body></html>[root@localhost bin]# cp /abc/game.jpg /usr/local/httpd/htdocs/
//将先前挂载目录中的图片复制到站点目录下

7.开启Apache服务

[root@localhost bin]# ./apachectl start
//使用Apache自带的脚本开启服务

第三步:使用测试客户机查看网站

1.打开一台Win 7 x64测试主机,变更DNS服务器地址为本地Linux的IP地址

2.打开浏览器输入域名www.bdqn.com即可访问网页

3.查看网页属性,以获取图片的URL地址
右击图片,点击属性即可查看到该图片的URL地址为http://www.bdqn.com/game.jpg


第四步:创建并配置盗链网站

1.开启一台Win 7-2主机,搭建网站
控制面板—程序—程序和功能—打开和关闭windows功能—选择Internet信息服务

2.使用txt文档编写网页内容,并更改文档名为index.html
txt文档内容:

<html><head></head><body><h1>this is test web</h1><img src="http://www.bdqn.com/game.jpg"/></body>
</html>

3.将index.html文件放入C:\inetpub\wwwroot的站点中


第五步:使用测试客户机查看盗链网站

使用Win 7 x64测试主机访问Win 7-2(IP:192.168.235.143),就可以访问到网页,但是这是个盗链网站,访问此站点的同时既盗取了他人源网站的资源,有奖流量导回了源网站,从而造成了他人服务器的负载


第六步:配置防盗链

1.修改Apache的配置文件

[root@localhost bin]# vim /usr/local/httpd/conf/httpd.conf248     Require all granted
//在第248行下追加以下6行内容,用以防止其他网站盗链.一旦截取到盗链图片信息,便会跳出错误图片
249         RewriteEngine On
250         RewriteCond %{HTTP_REFERER} !^http://bdqn.com/.*$ [NC]
251         RewriteCond %{HTTP_REFERER} !^http://bdqn.com$ [NC]
252         RewriteCond %{HTTP_REFERER} !^http://www.bdqn.com/.*$ [NC]
253         RewriteCond %{HTTP_REFERER} !^http://www.bdqn.com/$ [NC]
254         RewriteRule .*\.(gif|jpg|swf)$ http://www.bdqn.com/error.png

2.将报错图片放入站点目录

[root@localhost bin]# cp /abc/error.png /usr/local/httpd/htdocs/
[root@localhost bin]# ls /usr/local/httpd/htdocs/
error.png  game.jpg  index.html

3.重新开启服务

[root@localhost bin]# ./apachectl stop
[root@localhost bin]# ./apachectl start

第七步:测试防盗链

使用Win 7 x64测试主机再次访问Win 7-2(IP:192.168.235.143)的网页,便会跳出另外一张图片,防盗链配置成功!

--------------------------------------------感谢阅读 --------------------------------------------

Apache网页优化 ---配置防盗链相关推荐

  1. Nginx网页优化及防盗链__gw

    Nginx网页优化及防盗链 Nginx服务优化 配置Nginx隐藏版本号 方法一 方法二 修改nginx用户和组 网页缓存时间 Nginx的日志分割 编写日志分割脚本 制作任务计划 链接超时 更改Ng ...

  2. Apache 网页与安全优化(网页压缩--缓存--防盗链等)

    文章目录 前言 一.Apache 网页优化 1.1.网页压缩 1.1.1.gzip 介绍 1.1.2.Apache 的压缩模块 1.1.3.mod_deflate 模块 1.2.网页缓存 二.Apac ...

  3. Nginx高级优化(2): shell脚本日志切割,连接超时,进程数,网页压缩,防盗链,FPM 参数优化!!

    呕心沥血书写,看完后对Nginx了如执掌,不看真的后悔!! shell脚本日志分割 设置连接超时 Nginx深入优化 更改进程数 配置网页压缩 配置防盗链 20.0.0.25 主机:开始盗链 20.0 ...

  4. 手把手教你,嘴对嘴传达------Apache网页优化

    文章目录 Apache网页优化 一.Apache网页压缩 1.网页优化概述 2. 网页gzip概述 3.Apache的压缩模块 4.配置网页压缩功能 5.Apache网页压缩实操 (1) 手动编译安装 ...

  5. Apache(httpd)配置--防盗链配置和访问控制

    一.配置防盗链 通过防盗链的方式,可以设置限制第三方的站点通过引用的方式获取服务器上的图片,数据等,如果想要获取本站点的图片数据,只能通过本站点访问获取,这样也有效的减少了服务器的资源. 什么是ref ...

  6. 在Apache上配置防盗链功能和隐藏版本号

    文章目录 在Apache上配置防盗链功能 安装DNS服务 配置http服务软件目录 开启服务 开启服务 源站进行防盗链操作 隐藏版本信息步骤 使用抓包工具查看版本信息 隐藏设置 在Apache上配置防 ...

  7. Linux centosVMware Apache 配置防盗链、访问控制Directory、访问控制FilesMatch

    一.配置防盗链 通过限制referer来实现防盗链的功能 配置文件增加如下内容 vim /usr/local/apache2.4/conf/extra/httpd-vhosts.conf //改为如下 ...

  8. Apache网页优化概述

    Apache网页优化概述 Apache网页优化概述 一.网页压缩 1.检查是否安装mod_ deflate 模块 2.如果没有安装mod_deflate 模块,重新编译安装 Apache 添加 mod ...

  9. 学会Nginx优化与防盗链预防坏蜀黍

    Nginx优化与防盗链 文章目录 一.Nginx优化 1.配置nginx隐藏版本号 修改配置文件 修改源码文件,重新编译安装 2.修改用户与组 3.缓存时间 4.日志切割 5.连接超时 6.更改进程数 ...

最新文章

  1. 大厂AI面试官一语中的:一场面试暴露了你的机器学习水平
  2. 关于精密空调,你需要了解的都在这里!
  3. 手机端网站底部悬浮 广告代码 代关闭_网站被劫持,网站被劫持了应该怎么办?怎么解决网站被劫持?...
  4. bootstrap精简教程
  5. 兼容IE和Firefox
  6. 机器学习(统计学习方法)基础知识
  7. Ubuntu虚拟机下载app网速太慢
  8. 逆函数求导公式_反三角函数求导公式的*1
  9. 使用 KNX Manufacturer Tool 编写 knx 数据库的步骤
  10. 基于51单片机的智能花盆测控(温湿度、光照)【仿真资料-126】
  11. 应用于大数据分析的工作流调度系统
  12. 华为OD机试真题 Python 实现【最快到达医院的方法】【2023 Q1 | 100分】
  13. 码元速率与进制数无关
  14. python决策树案例_决策树案例:基于python的商品购买能力预测系统
  15. ffmpeg截取指定视频中的一段视频
  16. ABBYY FineReader 14都新增了什么功能?
  17. MySQL条件筛选的使用
  18. ssd与sata的区别
  19. Quectel EC800N-CN 小尺寸物联网首选LTE Cat 1模块[移远通信]
  20. EXCEL文本框及自定义图形内文本内容检索及替换

热门文章

  1. java中 toast的意思,英语:toast意思
  2. 用omnetpp仿真dsr协议
  3. php导出xlsx格式excel
  4. 蓝桥杯STC基础代码-以定时器计数作为时间轴的模板
  5. 八问数据中台:关于数据中台你想知道的都在这里!
  6. excel批量给数字前面加半角单引号[转]
  7. 连续函数:函数在区间上连续
  8. 青少年ctf crypto easy 部分题解
  9. mysql性能优化 洪斌_mysql explain分析
  10. Zoom Meeting App操作说明