千家信息网

Apache网页优化之防盗链

发表于:2025-01-23 作者:千家信息网编辑
千家信息网最后更新 2025年01月23日,Apache优化实现防盗链■防盗链就是防止别人的网站代码里面盗用服务器的图片、文件、视频等相关资源■如果别人盗用网站的这些静态资源,明显的是会增大服务器的带宽压力■所以作为网站的维护人员,要杜绝我们服
千家信息网最后更新 2025年01月23日Apache网页优化之防盗链

Apache优化实现防盗链

■防盗链就是防止别人的网站代码里面盗用服务器的图片
、文件、视频等相关资源
■如果别人盗用网站的这些静态资源,明显的是会增大服
务器的带宽压力
■所以作为网站的维护人员,要杜绝我们服务器的静态资
源被其他网站盗用
■检查Apache是否安装了mod_ rewrite模块
●/usr/local/apache/bin/apachectl -t -D DUMP MODULES
●如果输出中没有rewrite
module (static),则说明编译时没有安装
mod rewrite模块
■如果没有安装则要重新编译安装
●./configure --enable-rewrite...
●make &&make install
配置规则变量说明
%{HTTP
REFERER}:浏览header中的链接字段,存放一一个链
接的URL,代表是从哪个链接访问所需的网页
!^:不以后面的字符串开头
.*$: 以任意字符结尾
NC:不区分大写
R:强制跳转
■规则匹配说明
●RewriteEngine On:打开网页重写功能
●RewriteCond:设置匹配规则
●RewriteRule:设置跳转动作
规则匹配
●如果相应变量的值匹配所设置的规则,则逐条往下处理;如果不
匹配,则往后的规则不再匹配

■配置操作演示
●修改配置文件启用防盗链功能并设置规则:
RewriteEngine On

RewriteCond %{HTTP_ REFERER} !tp://est.com/.$ [NC]

RewriteCond %{HTTP REFERER} !^http://test.com$ [NC1
RewriteCond %{HTTP
REFERER} !^http://www.test.com/.$ [NC]
RewriteCond %{HTTP_ REFERER} !^http://www.test.com$ [NC]
RewriteRule .\
.(gifljpg|swf)$ http://www.test.com/error.html [R,NC]

防盗链配置实操

安装并配置DNS服务

[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";        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; };       //括号内localhost替换为any
[root@localhost ~]# vim /etc/named.rfc1912.zones    //编辑区域配置文件zone "kgc.com" IN {           //指定域名        type master;        file "kgc.com.zone";                //指定域名对应的区域数据配置文件        allow-update { none; };};
[root@localhost ~]# cd /var/named/[root@localhost named]# lsdata  dynamic  named.ca  named.empty  named.localhost  named.loopback  slaves [root@localhost named]# cp -p named.localhost kgc.com.zone   //复制区域数据配置文件模板[root@localhost 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.1www IN  A       192.168.131.129
[root@localhost named]# systemctl start named        //开启DNS服务[root@localhost named]# systemctl stop firewalld.service     //关闭防火墙[root@localhost named]# setenforce 0           //关闭增强型安全功能

编译安装Apache服务

[root@localhost named]# mkdir /aaa[root@localhost named]# mount.cifs //192.168.100.10/LAMP-C7 /abc            //远程挂载文件到本地Password for root@//192.168.100.10/LAMP-C7:  [root@localhost named]# cd /abc[root@localhost LAMP]# ls       //查看挂载文件内容apr-1.6.2.tar.gz       cronolog-1.6.2-14.el7.x86_64.rpm  mysql-5.6.26.tar.gzapr-util-1.6.0.tar.gz  Discuz_X2.5_SC_UTF8.zip           php-5.6.11.tar.bz2awstats-7.6.tar.gz     httpd-2.4.29.tar.bz2

解压工具包的源码文件并移动组件包到Apache的目录中

[root@localhost LAMP]# tar jxvf httpd-2.4.29.tar.bz2 -C /opt/[root@localhost LAMP]# tar zxvf apr-1.6.2.tar.gz -C /opt/[root@localhost LAMP]# tar zxvf apr-util-1.6.0.tar.gz -C /opt/[root@localhost LAMP]# cd /opt/[root@localhost opt]# lsapr-1.6.2  apr-util-1.6.0  httpd-2.4.29  rh[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

安装编译语言环境

yum -y install \gcc \gcc-c++ \make \pcre-devel \zlib-devel \expat-devel \pcre \perl  

configure配置Apache功能模块

[root@localhost opt]#cd httpd-2.4.29/    [root@localhost httpd-2.4.29]# ./configure \--prefix=/usr/local/httpd \--enable-deflate \--enable-so \--enable-rewrite \--enable-charset-lite \--enable-cgi

编译及编译安装

make && make install
root@localhost httpd-2.4.29]# vim /usr/local/httpd/conf/httpd.conf /ServerName搜索关键词到此行,并进行如下配置ServerName www.kgc.com:80/Listen搜索关键词到监听端口Listen 192.168.131.129:80       //开启ipv4端口并将监听地址改为本地地址#Listen 80        //对ipv6端口进行注释  LoadModule rewrite_module modules/mod_rewrite.so/rewrite搜索关键词到此行,开启重写功能模块
[root@localhost httpd-2.4.29]# cd /usr/local/httpd/bin///切换至Apache服务的/bin目录中[root@localhost bin]# vim /usr/local/httpd/htdocs/index.html            //编辑首页文件

It works!

//将图片放入标签中[root@localhost bin]# cp /abc/tupian.png /usr/local/httpd/htdocs///将先前挂载目录中的图片复制到站点目录下./apachectl start //开启Apache服务

打开一台win10测试机,将DNS服务器地址改为本地服务器地址

在浏览器输入www.kgc.com 即可访问到网页

右击图片查看网页属性,以获取图片的URL地址

创建并配置盗链网站

开启另一台win10-2测试机搭建盗链网站

使用txt文档编写网页内容




this is test web




将文件改为html格式并放入放入C:\inetpub\wwwroot的站点中
此时使用测试机win10访问192.168.131.128,就可以访问到网页,但是这是个盗链网站,访问此站点的同时既盗取了他人源网站的资源,又将流量导回了源网站,从而造成了他人服务器的负载,所以为了防止这种情况的发生,所以我们要对我们的apache网页进行防盗链的配置,

配置防盗链

修改apache配置文件

[root@localhost bin]# vim /usr/local/httpd/conf/httpd.conf
Require all granted
//在此行下插入以下规则
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|png|swf)$ http://www.kgc.com/fangdao.jpg

将报错图片放入站点目录

[root@localhost bin]# cp /abc/fangdao.jpg /usr/local/httpd/htdocs/
[root@localhost bin]# ls /usr/local/httpd/htdocs/
tupian.png fangdao.jpg index.html
[root@localhost bin]# ./apachectl stop //重启服务
[root@localhost bin]# ./apachectl start

我们使用测试机再次输入192.168.131.128,此时因为设置了防盗链所以会跳出另外一张图片,此时说明了防盗链设置成功

配置 文件 服务 网站 防盗 规则 网页 图片 服务器 编译 功能 地址 目录 区域 模块 资源 测试机 测试 关键 关键词 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 山西新华互联网科技学校招聘 我的世界高人气服务器手机版推荐 海南开展网络安全宣传周活动 acess数据库怎么删除数据 开放大学计算机网络技术毕业总结 数据库名称和服务器名称 社交软件开发成本 齐向东 第三代网络安全技术 5g时代如何应对网络安全挑战 youtube的服务器是什么 关于成立网络安全公司的通知 汉南区信息网络安全维护报价表 网络安全意识是什么 c 系统界面连接数据库 语音会议软件开发的未来发展 dec在数据库什么数据类型 软件开发java分那几块 js 获取父窗口中的数据库 云桌面服务器性能要求 我的世界圣牧服务器密码 ios软件开发it技术 计算机网络技术学习心得 数据库设计大学 我的世界怎样建服务器 北京特色软件开发推荐 魔兽pvp和pve服务器 无法连接epson打印服务器 青阳微型软件开发服务销售厂 服务器支持多少定时任务 数据库系统工程师题型
0