一、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、指定目录被访问相关推荐

  1. Apache配置--用户认证(针对目录访问)-update2015-05-02

    通过Apache配置可以限制用户对目录的访问,会弹出像phpadmin一样的登陆框. ========================================================= ...

  2. Java可执行jar自解压jar内指定文件到指定目录

    Java可执行jar自解压jar内指定文件到指定目录 参考链接 感谢大神[手动膜拜] https://www.devx.com/tips/Tip/22124 打开慢的话可以直接看下图 需求说明 需求来 ...

  3. Linux创建指定用户特定指定目录权限

    指定用户特定指定目录权限 需要注意要指定好文件夹的权限,不然会导致nginx不能访问,最好是在root下建立目录,然后 # useradd -d /usr/www -m tempuser # pass ...

  4. 【Android NDK 开发】NDK 交叉编译 ( NDK 函数库目录 | Linux 交叉编译环境搭建 | 指定头文件目录 | 指定函数库目录 | 编译 Android 命令行可执行文件 )

    文章目录 I . NDK platforms 目录下的 函数库 II . Ubuntu 配置 NDK 交叉编译环境 III . 同时指定编译的头文件和库文件 IV . 指定编译的头文件 V . 指定编 ...

  5. 禁止apache显示目录索引 apache禁止列目录

    2019独角兽企业重金招聘Python工程师标准>>> 禁止apache显示目录索引 apache禁止列目录 禁止Apache显示目录索引的常见的3种方法. 要实现禁止Apache显 ...

  6. linux ftp查看用户目录权限,linux 指定ftp用户 特定目录及权限

    Linux添加FTP用户并设置权限 在linux中添加ftp用户,并设置相应的权限,操作步骤如下: 1.环境:ftp为vsftp.被限制用户名为test.被限制路径为/home/test 2.建用户: ...

  7. java基础—IO流——将一些字符写入到指定硬盘上的目录中去:

    将一些字符写入到指定硬盘上的目录中去: import java.io.*; //将一些文字储存到硬盘的文件中去 //操作的是文字,因此选用字符流来操作 public class FileWriterD ...

  8. 删除文件部分内容 php,php实现遍历目录并删除指定文件中指定内容_php技巧

    现在正坐在安静的寝室里,寒假俨然已经离我而去了--今天发的是我寒假里搞的最后一次学习,之后的时间就一直在看海贼王了. 以前写过一个C语言的遍历目录+复制文件的程序,很长很复杂,现在用PHP一样可以实现 ...

  9. C#取得指定路径下所有目录及文件名称(可递归)

     1using System.IO;  2  3/**//// <summary>  4/// 取得指定路径下所有目录及文件名称(可递归)  5/// </summary>   ...

最新文章

  1. POJ2513Colored Sticks(欧拉路加字典树)
  2. 写个自己的Xcode4插件(二)
  3. Nexus入门【转】
  4. 牛客 - 云(扫描线)
  5. 解决Windows10搜索框空白的问题
  6. 深度学习---卷积神经网络(CNN)
  7. Centos7安装apt-get 在centos下用yum install xxx        不是使用apt-get
  8. 【Elasticsearch】Elasticsearch 分布式一致性原理分析:元数据
  9. {$POINTERMATH ON} 方便指针操作的编译指令
  10. 如何在Java应用中提交Spark任务?
  11. 干货 | 100大产业链全景图
  12. 分享24个JS特效广告和66个JS特效在线客服J代码JS代码
  13. SpringBoot解决XSS跨站脚本攻击
  14. Windows隐藏工具栏并使程序窗口全屏显示
  15. 学计算机的是不是都非常木讷,北大学神韦东奕​是正常人吗?内向木讷是缺点​,拿不出手?​...
  16. 开启京东自动化领京豆
  17. [回头再说] 国内网页游戏背景音乐
  18. html发票页面,HTML5 发票模板
  19. 【leetcode】644 最大子段和 II(二分查找,数组)
  20. JavaGuide-关于Dubbo的重要知识点

热门文章

  1. 外键查询_详解MySQL数据库删除所有表的外键约束、禁用外键约束相关脚本
  2. string.split方法 保留分隔符_Python pandas库159个常用方法使用说明
  3. 用python画熊猫代码_python-使用Pandas绘制包含列表的列
  4. Window系统下搭建GIT本地服务器详细教程
  5. data参数 layui_layui数据格式
  6. jsp中提供的四种属性范围
  7. mysql key value_【mysql】大量的 key = value 值用什么方式存储?
  8. seleniumpython定位网页元素方法_Python+Selenium 定位元素
  9. 人脸对齐(八)--LBF算法
  10. Android NDK开发之 NEON使用介绍