本文目錄一覽:
- 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可以換成你想要顯示的文件.
原創文章,作者:A4SR8,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/128763.html