麻辣堂|资源主站|开发论坛|在线手册
首页注册帮助 
Delphi for php 交流论坛
  您现在的位置:PHP开发资源网 > apache用户组 > 详细内容
待解决
如何保护Linux系统下的Apache网站 (2)
悬赏分:20 - 2008年03月16日

设置错误文件

如果希望在找不到文件时不出现“找不到网页”的页面提示,而是打开另一个HTML文件,方法也很简单。首先编写一个新的页面,然后用文本编辑器打开.htaccess,在文件最后加上:ErrorDocument 404 404.html。这里,404.html是错误文件的名字,即所显示的页面;404是错误代码。

一般常见的错误代码和所代表的错误原因如下:

401 Authorization failed 授权失败,即密码错误。

403 Access denied 存取错误,即不可以读取该文件。

404 File not found 找不到文件。

500 Internal Server Error服务器内部错误,可能是Web服务器本身存在问题,也可能是编写的程序出错。

禁止读取文件

如果将某些内容如密码,存放在一个文件中,那么别人只需知道该文件的对应位置,就可以一目了然,这样太不安全。其实完全可以不改变其它设置,也不用将文件移到其它地方就可解决这个问题,只需在.htaccess文件中加入以下几行:



order allow,deny
deny from all


如果系统安装的是Apache 1.3以后的版本,更可以支持regular expression的filesmatch。



order allow,deny
deny from all


files和filesmatch表示只对符合要求的部分文件生效。“order deny,allow”表示先找出禁止(deny)的,然后去找许可的(allow)。如果将它们的顺序颠倒“order allow,deny”则表示先找出许可的,后才去找禁止的。“deny from all”则表示全部IP地址都不许可。相对地,“allow from all”表示全部都允许。可以这样设置:


order allow,deny
allow from all
deny from 111.222

deny from 111.222是指禁止所有以111.222开始的IP地址(如111.222.0.1)。除了设置IP地址外,也可以设置成hostname(如:***.com)。“Files”和“Filesmatch”的用途很多,不但可以设置deny,也可以设置个别文件的密码,如:



require user 123


require user abc


使用.htaccess文件也会存在一些问题,比如性能。如果使用.htaccess文件,则Apache需要在每个目录中查找该文件,还必须在所有更高级的目录中查找它,另外,每次请求一个页面时,也都需要读取.htaccess文件。因此,允许使用.htaccess文件都会导致性能的下降。

例如,对/usr/hq/htdocs中页面的请求,Apache必须查找以下文件:


/.htaccess
/usr/.htaccess
/usr/hq/.htaccess
/usr/hq/htdocs/.htaccess

总的来说,通过.htaccess来保护网站更为方便和安全。因为它不像利用程序实现密码保护时,有可能通过猜测的方法获取密码。利用.htaccess文件实现密码保护,一般是很难破解的。鉴于.htaccess方式的优缺点,读者可以根据具体的情况选择适合的方法来保证网站的安全。
提问者: 03-16 20:08
答复
路过,帮顶
回答者:玉米づ冰冻可乐 - 2007-05-12
我也来回答:
不管你有没有帮助我们,瓦岗寨8万村民将感谢你。。。。。

为防止灌水,您需要计算一道数学题: 答案:
48 + 34 = ? 请将计算结果填在上面

 
[]
©2007 PhpRes.COM