知识屋:更实用的电脑技术知识网站
所在位置:首页 > 网络安全 > 安全资讯

.htaccess保护网站敏感目录的改进方法

发布时间:2014-07-15 11:50:29作者:知识屋

很多人都在使用.htaccess保护网站的敏感目录(如:网站后台),方法无非是HTTP Basic Auth和IP白名单。HTTP Basic Auth验证方式过于简单,IP白名单对于动态IP用户不方便,这里推荐一种使用Session+Cookie验证的方法,不仅可以有效解决此类问题,同时还可修改该敏感目录名。
 
新建一个名称较为复杂的文件夹,本例中使用:MyAdminFolder,在其下新建index.php,输入以下内容(注:RandomStringHere 和 /admin/index.php 需要根据实际情况修改):
 
 
<?php
	$SecretCode="RandomStringHere";
	setcookie("SecureAdminSession",$SecretCode,0,"/");
	header("Location: /admin/index.php");
?>

 

并将以下内容添加到.htaccess中(注:RandomStringHere 和 /admin 需要根据实际情况修改):
 
 
RewriteEngine On
RewriteCond %{REQUEST_URI} ^/admin
RewriteCond %{HTTP_COOKIE} !SecureAdminSession=RandomStringHere
RewriteRule .* - [L,F]

 

 
保存后,只有访问 /MyAdminFolder 才可以进入网站的真实后台 /admin/index.php,且Session在关闭后清除,如果直接访问 /admin 则会返回HTTP 403错误。
 
 
 
小提示:
 
1. 如果将 /MyAdminFolder 下的index.php更换为秘密文件名,且在.htaccess中关闭了文件列表显示(Index of /),相当于再加了一道防护。
 
2. 如果不慎泄露了随机字符串(本例为RandomStringHere),可以直接换一个新的,即可令之前的Session全部失效,保证敏感目录的安全。当然,定时更换也是一个好习惯。
 
(免责声明:文章内容如涉及作品内容、版权和其它问题,请及时与我们联系,我们将在第一时间删除内容,文章内容仅供参考)
收藏
  • 人气文章
  • 最新文章
  • 下载排行榜
  • 热门排行榜