apache php解析漏洞,apache解析漏洞及修复方法

Apache服务器在解析文件后缀时遵循从后往前的规则,若遇到未知后缀,会尝试解析前一个。通过启用mod_rewrite模块并创建.htaccess文件,可以实现伪静态重写,解决未定义后缀的解析问题。例如,对于1.php.a的请求,当.a未定义时,Apache将尝试解析.php。配置中展示了如何设置重写规则,将.php.*类型的请求重定向到index.php。
摘要由CSDN通过智能技术生成

apache对文件后缀的解析方法是”.”后边的都是后缀,从后到前,如果后缀无效,会解析前一个,例如 1.php.x1.x2.x3 他会先解析x3,不存在解析x2,不存在解析x1,都不存在就只能解析php了。如图:

20130405193452613.jpg

定义后缀,但是不可能所有后缀都定义吧?x1.x2.x3可以换成任意后缀

例如1.php.a,.a没有定义,apache不明白a是什么后缀,就向前解析,也就是去解析php。

用伪静态能解决这个问题,重写类似.php.*这类文件

打开apache的httpd.conf

找到LoadModule rewrite_module modules/mod_rewrite.so

把#号去掉,重启apache,在网站根目录下建立.htaccess文件,代码如下:

RewriteEngine On

RewriteRule .(php.|php3.) /index.php

RewriteRule .(pHp.|pHp3.) /index.php

RewriteRule .(phP.|phP3.) /index.php

RewriteRule .(Php.|Php3.) /index.php

RewriteRule .(PHp.|PHp3.) /index.php

RewriteRule .(PhP.|PhP3.) /index.php

RewriteRule .(pHP.|pHP3.) /index.php

RewriteRule .(PHP.|PHP3.) /index.php

可能会误杀,对我来说暂时也没发现误杀。根据自己要求修改自己定义的执行php的后缀,用|隔开就行。 /index.php可以换成你想要显示的文件.

效果如图:

20130405193605247.jpg

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值