Apache网页安全与安全优化--网页缓存、隐藏版本信息、Apache 防盗链

news2024/11/24 17:01:57

目录

--------网页缓存--------

1.检查是否安装 mod_expires 模块

2.如果没有安装mod_expires 模块,重新编译安装 Apache 添加 mod_expires模块

3.配置 mod_expires 模块启用

4.检查安装情况,启动服务

5.测试缓存是否生效

--------隐藏版本信息--------

--------Apache 防盗链--------

1.检查是否安装 mod_rewrite 模块

2.如果没有安装mod_rewrite 模块,重新编译安装 Apache 添加 mod_rewrite模块

3.配置 mod_rewrite 模块启用

​编辑4.网页准备


--------网页缓存--------

1.检查是否安装 mod_expires 模块

apachectl -t -D DUMP_MODULES | grep "expires"

 

 

2.如果没有安装mod_expires 模块,重新编译安装 Apache 添加 mod_expires模块

systemctl stop httpd.service

 

cd /usr/local/httpd/conf

 

 

mv httpd.conf httpd.conf.bak2

 

 

yum -y install gcc gcc-c++ pcre pcre-devel zlib-devel
cd /opt/httpd-2.4.29/
./configure \
--prefix=/usr/local/httpd \
--enable-so \
--enable-rewrite \
--enable-charset-lite \
--enable-cgi \
--enable-deflate \
--enable-expires            #加入mod_expires 模块

 

 

make && make install

 

 

3.配置 mod_expires 模块启用

vim /usr/local/httpd/conf/httpd.conf


--52行--修改

Listen 192.198.80.10:80


--111行--取消注释

LoadModule expires_module modules/mod_expires.so        #开启mod_expires 模块


--199行--取消注释,修改

ServerName www.kgc.com:80


--末行添加--

<IfModule mod_expires.c>
  ExpiresActive On                                #打开网页缓存功能
  ExpiresDefault "access plus 60 seconds"         #设置缓存60秒
</IfModule>  

 

4.检查安装情况,启动服务

apachectl -t                                         #验证配置文件的配置是否正确
apachectl -t -D DUMP_MODULES | grep "expires"        #检查 mod_deflate 模块是否已安装
expires_module (shared)                              #已安装的正确结果

 

 

 

systemctl start httpd.service

5.测试缓存是否生效

cat /usr/local/httpd/htdocs/index.html

方法一
在Linux系统中,打开火狐浏览器,右击点查看元素
选择 网络 ---> 选择 HTML、WS、其他 
访问 http://192.168.110.60,双击200消息查看响应头中包含 Expires 项

 

方法二:
在Windows系统中依次安装 Microsoft.NET4 和fiddler 软件,打开fiddler 软件
选择 inspectors ---> 选择 Headers
浏览器访问 http://192.168.110.60 ,双击200消息查看 Expires 项    


--------隐藏版本信息--------

vim /usr/local/httpd/conf/httpd.conf

--491行--取消注释

Include conf/extra/httpd-default.conf

 

vim /usr/local/httpd/conf/extra/httpd-default.conf


--55行--修改

ServerTokens Prod            #将原本的 Full 改为 Prod,只显示名称,没有版本
                             #ServerTokens 表示 Server 回送给客户端的响应头域是否包含关于服务器 OS 类型和编译过的模块描述信息。
systemctl restart httpd.service

浏览器访问 http://192.168.110.60 ,双击200消息查看 Server 项

 


--------Apache 防盗链--------

1.检查是否安装 mod_rewrite 模块

apachectl -t -D DUMP_MODULES | grep "rewrite"

 

2.如果没有安装mod_rewrite 模块,重新编译安装 Apache 添加 mod_rewrite模块

systemctl stop httpd.service
cd /usr/local/httpd/conf
mv httpd.conf httpd.conf.bak2

 

yum -y install gcc gcc-c++ pcre pcre-devel zlib-devel


 

cd /opt/httpd-2.4.29/
./configure \
--prefix=/usr/local/httpd \
--enable-so \
--enable-rewrite \                    #加入mod_rewrite 模块
--enable-charset-lite \
--enable-cgi \
--enable-deflate \
--enable-expires

 

 

make && make install

 

3.配置 mod_rewrite 模块启用

make && make install

--157行--取消注释

LoadModule rewrite_module modules/mod_rewrite.so



--224行--
<Directory "/usr/local/httpd/htdocs">
  Options Indexes FollowSymLinks
  AllowOverride None
  Require all granted

 

  RewriteEngine On                                              #打开 rewrite 功能,加入 mode_rewrite 模块内容
 
  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/error.png   #设置跳转动作
</Directory>

RewriteCond %{HTTP_REFERER} !^http://www.kgc.com/.*$ [NC]  的字段含义:
“%{HTTP_REFERER}” :存放一个链接的 URL,表示从哪个链接中转访问目录下的静态资源。
“!^” :表示不以后面的字符串开头。
“http://www.kgc.com” :是本网站的路径,按整个字符串匹配。
“.*$” :表示以任意字符结尾。
“[NC]” :表示不区分大小写字母。

RewriteRule .*\.(gif|jpg|swf)$ http://www.kgc.com/error.png  的字段含义:
“.” :表示匹配一个字符。
“*” :表示匹配 0 到多个字符,与“.”合起来的意思是匹配 0 到多次前面的任意字符,如果是 1 到多次匹配可以用“+”表示。
“\.” :在这里的“\”是转义符,“\.”就代表符号“.”的意思。因为“.”在指令中是属于规则字符,有相应的含义, 如果需要匹配,需要在前面加个转义符“\”,其它规则字符如果需要匹配,也做同样处理。
“(gif|jpg|swf)” :表示匹配“gif”、“jpg”、“swf”任意一个,“$”表示结束。最后的规则是以“.gif”、“.jpg”、“.swf”结尾, 前面是1到多个字符的字符串,也就是匹配图片类型的文件。
“http://www.kgc.com/error.png” :表示转发到这个路径 。

整个配置的含义是 使用本网站以外的网站域名 访问本站的图片文件时,显示 error.png 这个图片。

4.网页准备

Web源主机配置:

cd /usr/local/httpd/htdocs


将game.jpg、error.png文件传到/usr/local/httpd/htdocs目录下

vim index.html
<html><body><h1>this is kgc.com!</h1>
<img src="game.jpg"/>
</body></html>

注:原来的index.html中的网页文本不需要改,就把错误图片放进/var/local/httpd/htdocs目录中

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/589089.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

公开报名|CCPTP云渗透测试认证专家第二期培训班,将在云网基础设施安全国家工程研究中心举办

CCPTP云渗透测试认证专家由云安全联盟大中华区发布&#xff0c;是全球首个云渗透测试能力培养课程及人才培养认证&#xff0c;弥补了国内云渗透测试认知的差距和技能型人才培养的空白。4月1日-13日&#xff0c;CCPTP 首期班成功举办&#xff0c;于2023年5月10日部分学员完成考试…

C语言---函数

1、函数是什么 学习库函数网站&#xff1a; https://cplusplus.com/reference/http://en.cppreference.comhttp://zh.cppreference.com 我们参考文档&#xff0c;学习几个库函数 2、库函数 3、自定义函数 自定义函数和库函数一样&#xff0c;有函数名&#xff0c;返回值类…

TLS协议在ISO13400-2-2019文档中的内容解析

我很久之前写过解读ISO13400文档的系列文章:《详解ISO 13400文档(DoIP协议)》。当时没有说明解读的是哪一版13400,现在回过头看,应该是ISO13400-2-2012版本。那一版里没有TLS协议的相关内容,所以写的文章中也没有体现。 而2019版相比2012版,有两个方面的变化: 增加TLS…

1.AI绘画简介

1.1简介 ​ AI绘画即指人工智能绘画&#xff0c;是一种计算机生成绘画的方式。 ​ AI绘画主要包含两个部分&#xff0c;一个是对图像的分析与判断&#xff0c;即“学习”&#xff0c;一个是对图像的处理和还原&#xff0c;即“输出”。人工智能通过对数以万计的图像及绘画作品…

汽车充电桩主板的构成及7kw交流桩的优势阐述

汽车充电桩主板的构成通常包括&#xff1a;中央处理器、存储器、协议转换芯片、电源管理系统、信号输入输出、充电状态指示灯、电容、电感、电阻等元件。 其中&#xff0c;中央处理器是充电桩的核心&#xff0c;可以对电动汽车进行识别和匹配&#xff0c;根据电动车需求充电&am…

SpringMVC01:SpringMVC的分析和创建

目录 一、Spring MVC:回顾MVC 1、什么是MVC&#xff1f; 2、Model1时代 3、Model2时代 4、回顾Servlet 1.新建一个Maven工程当作父工程&#xff01;pom依赖 2.建立一个Moudle&#xff1a;springmvc-01-servlet&#xff0c;添加Web app的支持 3.导入servlet和jsp的jar依…

如何使用 Python 进行机器学习?

全套学习路线图、课程&#xff0c;机器学习工作流程如下。 Python人工智能 入门&#xff1a; Python基础→Python数据挖掘中级&#xff1a; 机器学习进阶&#xff1a; NLP自然语言高级&#xff1a; OpenCV基础→深度学习 人工智能学习路线图2023版-黑马程序员人工智能技术路…

Facebook广告投放怎么使用?Facebook广告投放的教程

做跨境电商的&#xff0c;多多少少都离不开广告投放&#xff0c;Facebook广告投放更是很多人的首选&#xff0c;所以东哥今天就来分享一个Facebook广告投放的教程&#xff0c;看完不信你还不会Facebook广告投放&#xff01; Facebook广告投放的教程 1、用科学上网的方式注册一个…

2023 华为 Datacom-HCIE 真题题库 10--含解析

单项选择题 1.[试题编号&#xff1a;190585] &#xff08;单选题&#xff09;华为SD-WAN解决方案中&#xff0c;当CPE位 于NAT设备后的私网时&#xff0c;特别是两个站点的CPE同时位于NAT设备后的私网时&#xff0c;CPE之 间需要使用NAT穿越技术。华为SD-WAN解决方案中使用以下…

vulnhub dc-8

1.信息搜集 端口 22,80,31337 存活ip 192.168.85.136 2.访问网站&#xff0c;进行信息搜集 在欢迎页面发现sql注入 sqlmap进行跑数据 python sqlmap.py -u "http://192.168.85.136/?nid1" --batch -D d7db -T users -C name,pass --dump尝试robots.txt,发现后他登…

保姆级讲解,让ChatGPT成为机器人的智慧大脑

文 / 高扬&#xff08;微信公众号&#xff1a;量子论&#xff09; ChatGPT是生成式人工智能&#xff0c;如果能接入机器人&#xff0c;可以让机器人更加智能。 我手上没有硬件&#xff0c;但我们可以模拟尝试机器人的制作逻辑&#xff0c;这个设计分成两部分&#xff1a;硬件、…

大数据分析平台:即需即用,告别“等一下”

数据分散在不同的业务系统中&#xff0c;整合清洗后才能用于数据分析&#xff0c;且由于IT不如业务那般清楚分析逻辑、需求等&#xff0c;很难及时响应新的分析需求&#xff0c;导致每次要数据、要报表时得到的回答都是“等一下”。那怎么办&#xff1f;那就用大数据分析平台&a…

【Linux】Firewalld防火墙

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 一、Firewalld概述二、Firewalld和iptables的关系三、Firewalld网络区域1.firewalld检查数据包的源地址的规则2.Firewalld防火墙预定义了9个区城 四、firewalld防火…

jvm之分析调优

写在前面 jvm调优不管是工作中还是面试中都异常重要&#xff0c;是衡量一个开发人员技术水平的重要指标&#xff0c;这也是个人的一个弱项&#xff0c;希望通过本文能够提高自我&#xff0c;也更能帮助到正在阅读文章的你&#xff0c;我们就开始吧&#xff01; 1&#xff1a;…

Nginx 安装及部署项目

1. 下载nginx安装包 首先从官网下载 nginx,大家可以自己在百度搜索 nginx&#xff0c;进入官 网&#xff0c;或者在浏览中直接输入 nginx 的官方网址: http://nginx.org/ &#xff0c;在此我直接提供 nginx 的下载链接&#xff0c;大家点进去之后可以按照 自己的需求下载自己所…

Flutter 笔记 | Flutter 核心原理(三)布局(Layout )过程

布局过程 Layout&#xff08;布局&#xff09;过程主要是确定每一个组件的布局信息&#xff08;大小和位置&#xff09;&#xff0c;Flutter 的布局过程如下&#xff1a; 父节点向子节点传递约束&#xff08;constraints&#xff09;信息&#xff0c;限制子节点的最大和最小宽…

Vue项目iconfont新增svg图标

最近接手一个开发一半的Vue3的后台管理项目&#xff0c;由于样式需要&#xff0c;需要新增一些svg图标&#xff0c;项目使用的是iconfont接下来我会通过几个步骤在原来iconfont基础上去新增一些自己的图标&#xff1b; 一、iconfont文件转换为svg源文件&#xff1b; 通过访问ic…

电子商务客户消费购物预测模型-基于数千万真实在线零售数据__企业调研_论文科研_毕业设计(智慧营销_精准营销_机器学习_人工智能)

之前发过 《谁主沉浮&#xff1f;银行&#xff0c;消金&#xff0c;互联网公司的精准营销_智慧营销完全解读》介绍了智慧营销/精准营销目的是降低运营成本。但精准营销可以带来很多额外收益&#xff0c;例如提高销售利润&#xff0c;提高客户忠诚度&#xff0c;降低客户流失率&…

Ribbon入门使用 RestTemplate loadbance 负载均衡

一、概念 1. Ribbon Ribbon是实现一套客户端&#xff0c;负载均衡的工具&#xff0c;简单的说&#xff0c;ribbon是一个开源项目&#xff0c;主要提供给客户端软件负载均衡算法和服务调用。 负载均衡和服务调用的提供者 主要用于: 负载均衡 将用户的请求平均到分配多个微服务…

华为OD机试之二元组个数(Java源码)

二元组个数 题目描述 给定两个数组a&#xff0c;b&#xff0c;若a[i] b[j] 则称 [i, j] 为一个**二元组**&#xff0c;求在给定的两个数组中&#xff0c;二元组的个数。 输入描述 第一行输入 m 第二行输入m个数&#xff0c;表示第一个数组 第三行输入 n 第四行输入n个数&…