设为首页 收藏本站
查看: 1449|回复: 0

[经验分享] Apache配置访问控制、禁用php解析、rewrite伪静态、限定user_agent

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2015-5-8 08:58:59 | 显示全部楼层 |阅读模式
访问控制
以下针对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
spacer.jpg wKioL1VLBGSjzkBUAAEsiK1h_ck263.jpg

某个目录下禁止解析php,目录可以自定义;php解析失败的话会显示源代码,对于网站来说不安全。
<Directory /data/www/>
    php_admin_flag engine off            
    <filesmatch "(.*)php">
         Order deny,allow
         Deny from all
    </filesmatch>
</Directory>
1
2
3
4
5
[iyunv@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



spacer.jpg wKiom1VLA1jzVaxuAADrjMrlOFQ601.jpg


apache rewrite模块应用——伪静态网页
mod_rewrite是Apache的一个非常强大的功能,它可以实现伪静态页面。
伪静态页面,网址域名后面的地址规范填写,看起来更美观,适合SEO搜索。
discuz! 管理后台页面——全局——左侧的SEO设置——URL伪静态,右边的可用选项全部打勾。
wKiom1VLBW-xhZmUAAVXXQzkW5I298.jpg
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浏览器可以打开。
1
2
3
4
5
[iyunv@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



wKiom1VLBCrhw4TsAAG9s6IZRMk362.jpg



运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-64832-1-1.html 上篇帖子: CentOS6.5系统搭建Apache服务器 下篇帖子: Apache for windows安装配置之解压缩版
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表