一般 Apache2 的目錄都安裝在 /var/www,而伴隨 Apache2 一起安裝的可能還會有 php,一種高階的描述性語言,具有執行能力,像 WordPress 都是採用 php 來實現的。所以不要懷疑 php 的執行能力。
但是,某些目錄是提供使用者上載的,假定使用者上載 php 執行檔,然後又去執行這些檔案,難保不會有安全性的問題。所以我們必須設定有些目錄 php 是不能執行,尤其是那些使用者可以上載的目錄。
其實在每個目錄底下,都可以有一個隱藏檔, “.htaccess”,如果有的話 apache2 會去解釋這個檔案的含義。關於這個檔案的語法不在這篇文章介紹,本篇最主要的是教各位如何讓某個目錄設定不讓任何人有機會去執行 php 檔案。
假定目錄為 /var/www/xxx,那請進入這個目錄編輯或是新增一個檔案 .htaccess,然後添加下列敘述:
RemoveHandler .php .phtml .php3 RemoveType .php .phtml .php3 php_flag engine off
這樣 /var/www/xxx 裡面的 php 檔案都會以一般文字檔傳送給 apache2 ,而不會執行。注意,這個檔案的擁有者要更換成 www-data:www-data,apache2的預設群組。