隱藏PHP後綴名的幾種方法

為大家介紹如何在apache中隱藏與混淆php後綴名的幾種方法,有需要的朋友,可以參考下。

有些網站www.***.com/kkk或者www.***.com/kkk.jsp這樣訪問,其實kkk可能是個php腳本文件,被隱藏了或者混淆了.php後綴,這樣做對網站的安全性有一定保障。

我們來看看如何實現這樣的功能呢?

1、混淆:將您的kkk.php保存為kkk.asp或者kkk.jsp等引人混淆的假後綴,然後在apache的http.conf中添加如下字段

AddType application/x-httpd-php .jsp
AddType application/x-httpd-php .asp

這樣apache會用php引擎解釋jsp、asp後綴的文件。

2、隱藏:將您的kkk.php保存為kkk,然後在apache的http.conf中修改字段

#DefaultType text/plain
DefaultType application/x-httpd-php

這樣apache會用php引擎解釋在mime找不到對應類型的文件(譬如無後綴的文件)。

3、使用偽靜態,url重寫
① 開啟apache Rewrite_mod模塊。

LoadModule rewrite_module modules/mod_rewrite.so之前的#

② 在配置文件末尾添加虛擬主機配置

NameVirtualHost *:80

    DocumentRoot e:\test
    ServerName www.test.test


    Options Indexes FollowSymLinks
    AllowOverride All
    Order Deny,Allow
    Allow from all

重新啟動apache

③ 在項目根目錄下新建.htaccess文件


RewriteEngine on
RewriteRule ^([a-zA-Z]+)\/([a-zA-Z0-9]+)\.shtml$ $1.php?id=$2 [L]


添加相關的規則即可,比如下面的RewriteRule ^([a-zA-Z]+)\/([a-zA-Z0-9]+)\.shtml$ $1.php?id=$2 [L]
實現http://www.test.test/test/3.shtml 對應實際的Url地址為:http://www.test.test/test.php?id=3 。

標題中所謂的隱藏後綴名,其實就是偽靜態或稱作url rewrite重寫了。

留言

這個網誌中的熱門文章

c語言-關於#define用法

CMD常用網管指令

PHP 與 JavaScript 之間傳值利用 json