有不少人问我,为什么后台的首页文件不用index.php而用admincp.php?多麻烦啊。其实我没有用index.php是有准备的。通常要了解一个网站的结构。探测目录也是收集目标网站信息的手段之一。可以让攻击者知道有什么目录。根据目录命名大概判断目录里存放的是哪一类文件。
所以我在几个重要目录里,放了一个index.php文件。文件内容:
<?php
header('HTTP/1.1 404 Not Found');
?>
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<HTML><HEAD>
<TITLE>404 Not Found</TITLE>
</HEAD><BODY>
<H1>Not Found</H1>
The requested URL <?php echo dirname($_SERVER["SCRIPT_NAME"]);?> was not found on this server.<P>
<HR>
<ADDRESS>Web Server at <?php echo $_SERVER["SERVER_NAME"];?> Port <?php echo $_SERVER["SERVER_PORT"];?></ADDRESS>
</BODY></HTML>
很多扫描器都是通过HTTP协议标头信息判断,所以我发送一个404,就表示目录或文件都不存在。我用扫描器扫描WEB路径,看看扫描于震的BLOG就把所有目录都扫描出来了。而扫描我的。只扫描出几个没有放上面的代码的目录。
这样,如果不手工去判断,或者更好的设置扫描器。就很难判断出admin、include这些目录是否存在。安全,需要从每一个细小的环节做起。呵呵。这下大家知道为什么我后台不用index.php作为首页了吧。


