隱藏PHP
還可以把你在使用PHP 來驅動網站的這一事實隱藏起來,或者至少不那麼明顯。使用expose_php指令就能避免將php版本資訊追加到Web 伺服器簽名的最後。不允許存取phpinfo()可以防止攻擊者得到你的軟體版本號和其他重要資訊。透過改變文件副檔名,使得這些頁面對應到PHP 腳本不容易被看出來。
1.expose_php=On|Off
作用域:PHP_INI_SYSTEM;預設值:On。
啟用時,PHP指令expose_php將細部追加到伺服器簽章後面。例如,如果啟用了ServerSignature,ServerTokens設定為Full,並且啟用了此指令,伺服器簽章檔案相關部分如下:
Apache/2.0.44(Unix) DAV/2 PHP/5.0.0b3-dev Server at www. example.com Port 80
如果expose_php被停用,則伺服器簽章如下所示:
Apache/2.0.44(Unix) DAV/2 Server at www.example.com Port 80
#2.刪除phpinfo() 呼叫的所有實例
phpinfo()函數提供了一個很棒的工具,可用於在指定伺服器上查看PHP 配置的總結。但是,由於伺服器上未加保護,這些檔案對於攻擊者來說實可謂金礦。例如,這個函數能產生作業系統、PHP 和Web 伺服器版本、設定標誌的有關信息,還能產生關於所有可用擴充及其版本的詳細報告。如果允許攻擊者存取此訊息,就更有可能發現並利用潛在的攻擊漏洞。
遺憾的是,似乎許多開發人員沒有意識到或不關心這些漏洞,因為只要在搜尋引擎中鍵入phpinfo.php,將得到大約336 000 個結果,其中許多連結直接指向執行phpinfo()命令的文件,因而提供了大量關於伺服器的資訊。適用於早期脆弱的PHP 版本。只要快速地修改搜尋條件,加入其他關鍵字,就能得到原來結果的子集,而這將成為攻擊的主要對象,因為他們使用了已知不安全的PHP 、Apache 、IIS版本和各種所支援的擴展。
允許其他人查看phpinfo()的結果,這實質上相當於向公眾提供一個路線圖,其中列出了你的伺服器的許多技術功能和缺陷。不要因為懶惰未能刪除或保護這個檔案而成為攻擊的犧牲品。
3.修改文件副檔名
啟用PHP的文件一般透過其獨特的副檔名就能識別,最常見的包括. php、php3 和. phtml 。你知道這可以很容易地改為你希望的其他擴展名嗎?甚至可以改成是.html、.asp或. jsp?,為此只要在httpd.conf 檔案中修改下列一行:
Addtype application/x-httpd-php .php
新增所希望的任何副檔名,例如:
AddType application/x- httpd-php .asp
當然,要確保這不會導致與其他安裝的伺服器技術相衝突。
更多PHP相關技術文章,請造訪PHP教學欄位進行學習!
以上是php隱藏字尾(.PHP)的方法過程的詳細內容。更多資訊請關注PHP中文網其他相關文章!