note: PHP / Apache HTTP Server 一些設定 (安全相關)

2022021817:03
 

特定目錄內 禁止執行 PHP

也就是 特定目錄中的檔案 (包含 *.php),只限瀏覽、下載靜態檔案
<VirtualHost *:80>
    DocumentRoot /home/htdocs_pic
    ServerName pic.abc.com
    php_flag engine off
    RemoveHandler .php .php3
    RemoveType .php .php3
</VirtualHost>

如果只寫  php_flag engine off  也可以禁止 php 檔案被執行
但 當用戶在瀏覽一個 .php 網頁時 (如 http://pic.abc.com/hello.php )
會變成瀏覽器提示你下載 hello.php 檔案,而不是顯示在瀏覽器畫面中


或是加在 .htaccess
/home/htdocs_pic/.htaccess
    php_flag engine off
    RemoveHandler .php .phtml .php3
    RemoveType .php .phtml .php3



 

避免  xxx.php.abc (或 xxx.php3.abc ) 這樣的檔案被執行

  <Files ~ "\.(php.|php3.)">
    Order allow,deny
    Deny from all
  </Files>

參考:

 

避免 Apache Httpd 版本洩漏



如圖,http 回應的 header 中,內定會包含 Apache 版本資料
要隱藏版本編號的話:
在 httpd.conf 設定一行
# Set to one of:  Full | OS | Minor | Minimal | Major | Prod
ServerTokens ProductOnly