我們一直強調,設定伺服器上的檔案許可權是很重要的,能夠保護我們的站點。如一些目錄/uploads/, /upgrade/, 和 /backups/就需要設定可寫許可權,但是這會帶來安全隱患。

現在矛盾出來了,一方面需要嚴格的限制許可權,另一方面許可權一旦嚴格,又會現在很多功能。例如媒體上傳功能可能會停止工作。

怎麼辦?

現在透過一些辦法可以魚和熊掌兼得,即可控制許可權又可不限制功能。

這就是使用.htaccess 檔案。

在我的實踐中,/uploads/ 可謂重中之重。不幸的是有的伺服器需要 777 的許可權才能讓這個媒體功能正常工作。那麼我們的問題就是在這個 777 的許可權下加強安全,為此我們需要安裝下面的步驟做:

首先建立一個.htaccess 檔案,並把這個檔案上傳到/uploads/目錄下,把下面的程式碼放到.htaccess 檔案內:

# secure uploads directory
<Files ~ ".*..*">
 Order Allow,Deny
 Deny from all
</Files>
<FilesMatch ".(jpg|jpeg|jpe|gif|png|tif|tiff)$">
 Order Deny,Allow
 Allow from all
</FilesMatch>

開始我們否定了所有檔案的訪問,然後指定了一些檔案型別。如 (jpg|jpeg|jpe|gif|png|tif|tiff|zip|mp3|mov) 等,那些是副檔名。