本文目录一览:
- 1、如何修复apache的解析漏洞 token
- 2、apache php 安装后,Apache正常启动,但无法解析PHP,可以解析html。网页出现HTTP 404是怎么回事?
- 3、如何修复apache的解析漏洞
如何修复apache的解析漏洞 token
apache对文件后缀的解析方法是”.”后边的都是后缀,从后到前,如果后缀无效,会解析前一个,例如 1.php.x1.x2.x3 他会先解析x3,不存在解析x2,不存在解析x1,都不存在就只能解析php了。如图:
定义后缀,但是不可能所有后缀都定义吧?x1.x2.x3可以换成任意后缀
例如1.php.a,.a没有定义,apache不明白a是什么后缀,就向前解析,也就是去解析php。
用伪静态能解决这个问题,重写类似.php.*这类文件
打开apache的httpd.conf
找到LoadModule rewrite_module modules/mod_rewrite.so
把#号去掉,重启apache,在网站根目录下建立.htaccess文件,代码如下:
IfModule mod_rewrite.c
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
/IfModule
可能会误杀,对我来说暂时也没发现误杀。根据自己要求修改自己定义的执行php的后缀,用|隔开就行。 /index.php可以换成你想要显示的文件.
apache php 安装后,Apache正常启动,但无法解析PHP,可以解析html。网页出现HTTP 404是怎么回事?
apache php 安装后,Apache正常启动,但无法解析PHP,可以解析html。网页出现HTTP 404是设置错误造成的,解决方法为;
1、在apache的安装目录下,有一个htdocs目录,现在,我们在该目录下,新建一个简单的php网页文件。
2、在浏览器中去“浏览”该php网页文件,结果把php文件内容显示出来了,php并没有运行。
3、需要配置apache,以调用“php语言模块(引擎)”去执行该php代码。需要apache的主配置文件httpd.conf,其位置在:apache安装目录/conf/httpd.conf。
4、找到“装载模块”的位置:并在这一系列的LoadModule的最后位置,添加这样一行:"LoadModule actions_module modules/mod_actions.so ", php5语言包中的模块文件其中,php5语言模块名就是一个固定的名字,为:php5_module,php5语言包。
5、在apache的配置文件最后写上:LoadModul php5_module "H:/amp/php/php5apache2_2.dll"。
6、另起一行设置php后缀的文件,由这个php语言模块去执行。"AddType application/x-httpd-php .php"。
如何修复apache的解析漏洞
apache对文件后缀的解析方法是”.”后边的都是后缀,从后到前,如果后缀无效,会解析前一个,例如 1.php.x1.x2.x3 他会先解析x3,不存在解析x2,不存在解析x1,都不存在就只能解析php了。如图:
定义后缀,但是不可能所有后缀都定义吧?x1.x2.x3可以换成任意后缀
例如1.php.a,.a没有定义,apache不明白a是什么后缀,就向前解析,也就是去解析php。
用伪静态能解决这个问题,重写类似.php.*这类文件
打开apache的httpd.conf
找到LoadModule rewrite_module modules/mod_rewrite.so
把#号去掉,重启apache,在网站根目录下建立.htaccess文件,代码如下:
IfModule mod_rewrite.c
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
/IfModule
可能会误杀,对我来说暂时也没发现误杀。根据自己要求修改自己定义的执行php的后缀,用|隔开就行。 /index.php可以换成你想要显示的文件.