Apache禁止指定的user_agent、指定目录被访问
一、Apache禁止指定的user_agent
1、修改apache的虚拟主机配置文件
[root@daixuan ~]# vim /usr/local/apache2/conf/extra/httpd-vhosts.conf
<VirtualHost *:80>
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{HTTP_HOST} ^www.daixuan.com$ [OR]
RewriteCond %{HTTP_HOST} ^www.123.com$
RewriteRule ^/(.*)$ http://www.test.com/$1 [R=301,L]
RewriteCond %{HTTP_USER_AGENT} ^.*curl* [NC,OR] 定义条件,NC不区分大小写
RewriteCond %{HTTP_USER_AGENT} ^.*chrome* [NC] 定义或者chrome访问条件
RewriteRule .* - [F] 规则是禁用,Forbidden
</IfModule>
</VirtualHost>
2、测试结果:chrome不能打开www.test.com;Firefox可以打开www.test.com
[root@daixuan ~]# curl -I www.test.com curl访问也被禁止了
HTTP/1.1 403 Forbidden
二、通过Rewrite限制访问目录
1、正常可以访问
在防盗链中取消.txt文件被盗用,在/data/www/tmp/12.txt中输入123456
浏览器可以正常打开:http://www.test.com/tmp/12.txt 123456
2、修改配置文件
[root@daixuan ~]#vim /usr/local/apache2/conf/extra/httpd-vhosts.conf
<VirtualHost *:80>
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{HTTP_HOST} ^www.daixuan.com$ [OR]
RewriteCond %{HTTP_HOST} ^www.123.com$
RewriteRule ^/(.*)$ http://www.test.com/$1 [R=301,L]
# RewriteCond %{HTTP_USER_AGENT} ^.*curl* [NC,OR]
# RewriteCond %{HTTP_USER_AGENT} ^.*chrome* [NC]
# RewriteRule .* - [F]
RewriteCond %{REQUEST_URI} ^.*/tmp/.* [NC] 条件是包含‘/tmp/’目录的文件
RewriteRule .* - [F] 拒绝访问
</IfModule>
</VirtualHost>
3、测试
Firefox浏览器打开:http://www.test.com/tmp/12.txt ,特定目录访问限制成功。
Forbidden
You don't have permission to access /tmp/12.txt on this server.
转载于:https://blog.51cto.com/daixuan/1719116
Apache禁止指定的user_agent、指定目录被访问相关推荐
- Apache配置--用户认证(针对目录访问)-update2015-05-02
通过Apache配置可以限制用户对目录的访问,会弹出像phpadmin一样的登陆框. ========================================================= ...
- Java可执行jar自解压jar内指定文件到指定目录
Java可执行jar自解压jar内指定文件到指定目录 参考链接 感谢大神[手动膜拜] https://www.devx.com/tips/Tip/22124 打开慢的话可以直接看下图 需求说明 需求来 ...
- Linux创建指定用户特定指定目录权限
指定用户特定指定目录权限 需要注意要指定好文件夹的权限,不然会导致nginx不能访问,最好是在root下建立目录,然后 # useradd -d /usr/www -m tempuser # pass ...
- 【Android NDK 开发】NDK 交叉编译 ( NDK 函数库目录 | Linux 交叉编译环境搭建 | 指定头文件目录 | 指定函数库目录 | 编译 Android 命令行可执行文件 )
文章目录 I . NDK platforms 目录下的 函数库 II . Ubuntu 配置 NDK 交叉编译环境 III . 同时指定编译的头文件和库文件 IV . 指定编译的头文件 V . 指定编 ...
- 禁止apache显示目录索引 apache禁止列目录
2019独角兽企业重金招聘Python工程师标准>>> 禁止apache显示目录索引 apache禁止列目录 禁止Apache显示目录索引的常见的3种方法. 要实现禁止Apache显 ...
- linux ftp查看用户目录权限,linux 指定ftp用户 特定目录及权限
Linux添加FTP用户并设置权限 在linux中添加ftp用户,并设置相应的权限,操作步骤如下: 1.环境:ftp为vsftp.被限制用户名为test.被限制路径为/home/test 2.建用户: ...
- java基础—IO流——将一些字符写入到指定硬盘上的目录中去:
将一些字符写入到指定硬盘上的目录中去: import java.io.*; //将一些文字储存到硬盘的文件中去 //操作的是文字,因此选用字符流来操作 public class FileWriterD ...
- 删除文件部分内容 php,php实现遍历目录并删除指定文件中指定内容_php技巧
现在正坐在安静的寝室里,寒假俨然已经离我而去了--今天发的是我寒假里搞的最后一次学习,之后的时间就一直在看海贼王了. 以前写过一个C语言的遍历目录+复制文件的程序,很长很复杂,现在用PHP一样可以实现 ...
- C#取得指定路径下所有目录及文件名称(可递归)
1using System.IO; 2 3/**//// <summary> 4/// 取得指定路径下所有目录及文件名称(可递归) 5/// </summary> ...
最新文章
- POJ2513Colored Sticks(欧拉路加字典树)
- 写个自己的Xcode4插件(二)
- Nexus入门【转】
- 牛客 - 云(扫描线)
- 解决Windows10搜索框空白的问题
- 深度学习---卷积神经网络(CNN)
- Centos7安装apt-get 在centos下用yum install xxx 不是使用apt-get
- 【Elasticsearch】Elasticsearch 分布式一致性原理分析:元数据
- {$POINTERMATH ON} 方便指针操作的编译指令
- 如何在Java应用中提交Spark任务?
- 干货 | 100大产业链全景图
- 分享24个JS特效广告和66个JS特效在线客服J代码JS代码
- SpringBoot解决XSS跨站脚本攻击
- Windows隐藏工具栏并使程序窗口全屏显示
- 学计算机的是不是都非常木讷,北大学神韦东奕​是正常人吗?内向木讷是缺点​,拿不出手?​...
- 开启京东自动化领京豆
- [回头再说] 国内网页游戏背景音乐
- html发票页面,HTML5 发票模板
- 【leetcode】644 最大子段和 II(二分查找,数组)
- JavaGuide-关于Dubbo的重要知识点
热门文章
- 外键查询_详解MySQL数据库删除所有表的外键约束、禁用外键约束相关脚本
- string.split方法 保留分隔符_Python pandas库159个常用方法使用说明
- 用python画熊猫代码_python-使用Pandas绘制包含列表的列
- Window系统下搭建GIT本地服务器详细教程
- data参数 layui_layui数据格式
- jsp中提供的四种属性范围
- mysql key value_【mysql】大量的 key = value 值用什么方式存储?
- seleniumpython定位网页元素方法_Python+Selenium 定位元素
- 人脸对齐(八)--LBF算法
- Android NDK开发之 NEON使用介绍