.htaccess保護(hù)網(wǎng)站敏感目錄的改進(jìn)方法;很多人都在使用.htaccess保護(hù)網(wǎng)站的敏感目錄(如:網(wǎng)站后臺),方法無非是HTTP Basic Auth和IP白名單。HTTP Basic Auth驗證方式過于簡單,IP白名單對于動態(tài)IP用戶不方便,這里推薦一種使用Session+Cookie驗證的方法,不僅可以有效解決此類問題,同時還可修改該敏感目錄名。

新建一個名稱較為復(fù)雜的文件夾,本例中使用:MyAdminFolder,在其下新建index.php,輸入以下內(nèi)容(注:RandomStringHere 和 /admin/index.php 需要根據(jù)實際情況修改):
<?php $SecretCode="RandomStringHere"; setcookie("SecureAdminSession",$SecretCode,0,"/"); header("Location: /admin/index.php");?>
并將以下內(nèi)容添加到.htaccess中(注:RandomStringHere 和 /admin 需要根據(jù)實際情況修改):
RewriteEngine OnRewriteCond %{REQUEST_URI} ^/adminRewriteCond %{HTTP_COOKIE} !SecureAdminSession=RandomStringHereRewriteRule .* - [L,F]
保存后,只有訪問 /MyAdminFolder 才可以進(jìn)入網(wǎng)站的真實后臺 /admin/index.php,且Session在瀏覽器關(guān)閉后清除,如果直接訪問 /admin 則會返回HTTP 403錯誤。
小提示:
1. 如果將 /MyAdminFolder 下的index.php更換為秘密文件名,且在.htaccess中關(guān)閉了文件列表顯示(Index of /),相當(dāng)于再加了一道防護(hù)。
2. 如果不慎泄露了隨機(jī)字符串(本例為RandomStringHere),可以直接換一個新的,即可令之前的Session全部失效,保證敏感目錄的安全。當(dāng)然,定時更換也是一個好習(xí)慣。
提示:
隨機(jī)字符串生成,隨機(jī)密碼生成工具 http://www.hnmfsm.com/tool/String.html