访问控制

以下针对apache虚拟主机配置

网站访问,限制指定ip才可以访问。只允许内网登录,不允许其他地址登录。

Order定义顺序,先deny,然后执行下面的deny from all,然后执行allow,再执行allow from 127.0.0.1,意思是拒绝所有的,只允许本地可以访问。

<Directory /data/www/>

<filesmatch ".*">

     Order deny,allow

     Deny from all

     Allow from 127.0.0.1

</filesmatch>

</Directory>


针对请求的url去限制,只允许内网和指定ip可以访问包含admin关键词的地址,一般为管理后台;

<filesmatch "(.*)admin(.*)">

          Order deny,allow

          Deny from all

          Allow from 127.0.0.1

          Allow from 2.2.2.2

</filesmatch>

假如该虚拟机的域名为 domain.com , 这样配置后,除了 127.0.0.1 和 2.2.2.2 外,其他ip访问以下类似的uri时都会直接禁止的。

http://domain.com/1212admin.txt

http://domain.com/admin.php

http://domain.com/1212/admin.html 等

某个目录下禁止解析php,目录可以自定义;php解析失败的话会显示源代码,对于网站来说不安全。

<Directory /data/www/>

    php_admin_flag engine off            

    <filesmatch "(.*)php">

         Order deny,allow

         Deny from all

    </filesmatch>

</Directory>

[root@localhost www]# curl -x127.0.0.1:80 www.111.com/forum.php -I
HTTP/1.1 403 Forbidden
Date: Mon, 04 May 2015 07:41:15 GMT
Server: Apache/2.2.29 (Unix) DAV/2 PHP/5.3.28
Content-Type: text/html; charset=iso-8859-1

apache rewrite模块应用——伪静态网页

mod_rewrite是Apache的一个非常强大的功能,它可以实现伪静态页面。

伪静态页面,网址域名后面的地址规范填写,看起来更美观,适合SEO搜索。

discuz! 管理后台页面——全局——左侧的SEO设置——URL伪静态,右边的可用选项全部打勾。

discuz伪静态配置,写入到虚拟主机配置rewrite模块中;forum是版块,thread是帖子;

 <IfModule mod_rewrite.c>

RewriteEngine on

RewriteRule ^/topic-(.+)\.html$ /portal.php?mod=topic&topic=$1&%1

RewriteRule ^/article-([0-9]+)-([0-9]+)\.html$ /portal.php?mod=view&aid=$1&page=$2&%1

RewriteRule ^/forum-(\w+)-([0-9]+)\.html$ /forum.php?mod=forumdisplay&fid=$1&page=$2&%1

RewriteRule ^/thread-([0-9]+)-([0-9]+)-([0-9]+)\.html$ /forum.php?mod=viewthread&tid=$1&extra=page\%3D$3&page=$2&%1

RewriteRule ^/group-([0-9]+)-([0-9]+)\.html$ /forum.php?mod=group&fid=$1&page=$2&%1

RewriteRule ^/space-(username|uid)-(.+)\.html$ /home.php?mod=space&$1=$2&%1

RewriteRule ^/blog-([0-9]+)-([0-9]+)\.html$ /home.php?mod=space&uid=$1&do=blog&id=$2&%1

RewriteRule ^/archiver/(fid|tid)-([0-9]+)\.html$ /archiver/index.php?action=$1&value=$2&%1

RewriteRule ^/([a-z]+[a-z0-9_]*)-([a-z0-9_\-]+)\.html$ /plugin.php?id=$1:$2&%1

</IfModule>


实验结果:

帖子地址为:http://www.111.com/forum.php?mod=viewthread&tid=1&extra=

伪静态之后为:http://www.111.com/thread-1-1-1.html

apache 限制指定user_agent

有些user_agent 不是我们想要的,可以通过rewrite功能针对 %{HTTP_USER_AGENT} 来rewirete到403页,从而达到限制某些user_agent的请求。

apache的rewrite功能有一项就是forbidden,那就是 F,重写规则会显示403错误,无法打开网页。

限制curl和IE浏览器8.0不能访问,360的浏览器版本为IE 7.0可以访问。USER_AGENT具体的版本需要看日志的详细信息,然后进行限制。

例如:("Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E)")

如禁用所有的IE浏览器:RewriteCond %{HTTP_USER_AGENT}  ^.*MSIE*


<IFModule mod_rewrite.c>

        RewriteEngine on

        RewriteCond %{HTTP_USER_AGENT}  ^.*MSIE\ 8.0* [NC,OR] 

        RewriteCond %{HTTP_USER_AGENT}  ^.*curl* [NC]

        RewriteRule  .*  -  [F]

</IFModule>


测试结果,使用curl本地解析网站为403错误;网页访问IE提示403错误,360浏览器可以打开。

[root@localhost www]# curl -x127.0.0.1:80 www.1111.com -I
HTTP/1.1 403 Forbidden
Date: Thu, 07 May 2015 02:09:58 GMT
Server: Apache/2.2.29 (Unix) DAV/2 PHP/5.3.28
Content-Type: text/html; charset=iso-8859-1

Apache配置访问控制、禁用php解析、rewrite伪静态、限定user_agent相关推荐

  1. Apache Web服务器访问控制机制全解析

    Apache Web服务器访问控制机制全解析 原文请见: http://netsecurity.51cto.com/art/201102/245666.htm Linux下的Aapche服务器提供了强 ...

  2. 【CyberSecurityLearning 32】Apache配置、Apache的访问控制设定、LAMP平台的搭建

    目录 Apache配置 web服务 Apache 1.先启动httpd服务 2.通过端口来验证服务是否启动 3.建立主页 4.关于Apache服务软件的主配置文件分析 Apache的访问控制设定 1. ...

  3. [转] apache配置rewrite及.htaccess文件

    转载自: http://www.uh80.com/?p=654 apache配置rewrite及.htaccess文件 1.  首先确定您使用的 Apache 版本,及是否加载了 mod_Rewrit ...

  4. Nginx伪静态配置和常用Rewrite伪静态规则集锦

    伪静态是一种可以把文件后缀改成任何可能的一种方法,如果我想把php文件伪静态成html文件,这种相当简单的,下面我来介绍nginx 伪静态配置方法 nginx里使用伪静态是直接在nginx.conf ...

  5. nginx rewrite php参数,Nginx rewrite伪静态配置参数详解

    nginx rewrite 伪静态配置参数和使用例子(附正则使用说明) 正则表达式匹配,其中: * ~ 为区分大小写匹配 * ~* 为不区分大小写匹配 * !~和!~*分别为区分大小写不匹配及不区分大 ...

  6. 尝试debian-9.13.0-amd64下apache和proftpd用openldap整合按组认证笔记之五:apache配置openldap组认证、h5ai、关闭PHP解析

    感觉proftpd对openldap的支持已经有点过时了,2013年以后就再没更新了 https://github.com/proftpd/mod_ldap 居然还必须用posixGroup/gidN ...

  7. php 伪静态规则,在线将Apache Rewrite Rules伪静态规则转换为Nginx Rewrite伪静态规则...

    一般php的开发者本地使用的都是使用apache服务器,使用伪静态的时候每次都需要转换成nginx rewrite规则,于是做了个在线将Apache htaccess Rewrite伪静态规则自动转换 ...

  8. wamp的卸载、安装与配置apache配置伪静态

    wamp的卸载和安装注意事项(集成请绕行) 卸载wamp注意事项: 关闭应用,停止服务,在cmd中 sc delete mysql sc delete apache2.2 拷贝php注意事项: 拷贝p ...

  9. apache配置优化之伪静态设置

    两种方法 Apache伪静态配置方法有两种: 在网站根目录下添加文件,.htaccess,在此文件内写伪静态规则,使用它需要在apache配置文件http.conf中完成相应配置.具体配置方法网上很多 ...

  10. 为您的IIS6下的网站配置Rewrite伪静态组件

    首先我们下载Rewrite伪静态组件到服务器,点击下载,然后解压到D:\Rewrite下,解压后如下图: 温馨提示:ReWrite组件所在目录要有Users或者Everyone默认访问权限.您可以点击 ...

最新文章

  1. TRex 学习 (4) ---- stateful ( advanced )
  2. 题目1183:守形数
  3. Blender 2.42
  4. php经典面试题时间,php 经典面试题及答案
  5. 数据结构---平衡二叉树
  6. Linq 中的 left join
  7. REHL 6 安装指南
  8. “写代码三年月薪不到一万是不是很失败?”
  9. 【Python-3.3】函数中的可变参数和关键字参数
  10. oslo_messaging使用eventlet executor时rpc无法调用的问题
  11. 2018美赛数学建模竞赛论文(隐私成本)
  12. 华东理工大学计算机图形答案,华东理工大学信息科学与工程学院硕士研究生导师张静...
  13. Windows Mobil开发资源【Poket PC,Windows CE.NET ,Windows Mobile】
  14. 百度404.html,百度标准死链(404页面)官方文档全解析
  15. QQ互联登录- 前端为 vue.js
  16. 李航·《统计学习方法》学习笔记
  17. DNS协议分析(域名解析)
  18. Linux:bc计算根号保留小数
  19. 基于Qt的二维码生成器
  20. tcl脚本vsim命令的参数列表

热门文章

  1. 3GPP规范命名规则解读
  2. 类序列化之后保存在COOKIES里
  3. ASP.Net下绑定TextBox回车事件的解决方法
  4. Qt qss问题总结
  5. Hibernate缓存研究
  6. 【转】javascript代码混淆和压缩
  7. Selenium菜鸟手册
  8. sql函数 StringSplit(SELECT * from Split('黄色,蓝色,黑色',','))
  9. web developer tips (56):手动更新JScript的智能感知
  10. 如何设置一个全局流水号