日期:2014-05-17  浏览次数:20776 次

apache服务器 .htaccess文件 之 封禁特定IP地址的用户

.htaccess是什么

概述来说,htaccess文件是Apache服务器中的一个配置文件,它负责相关目录下的网页配置。

通过htaccess文件,可以帮我们实现:网页301重定向、自定义404错误页面、改变文件扩展名、允许/阻止特定的用户或者目录的访问、禁止目录列表、配置默认文档等功能。

Unix、Linux系统或者是任何版本的Apache Web服务器都是支持.htaccess的,但是有的主机服务商可能不允许你自定义自己的.htaccess文件。

国内的大多数虚拟主机就没有这个功能。我所知道的提供这个功能的有康盛世纪(就是Discuz的论坛服务商)。

笼统地说,.htaccess可以帮我们实现包括:文件夹密码保护、用户自动重定向、自定义错误页面、改变你的文件扩展名、封禁特定IP地址的用户、只允许特定IP地址的用户、禁止目录列表,以及使用其他文件作为index文件等一些功能。
启用.htaccess

启用.htaccess ,需要修改httpd.conf,启用AllowOverride,并可以用AllowOverride限制特定命令的使用。如果需要使用.htaccess以外的其他文件名,可以用AccessFileName指令来改变。例如,需要使用.config ,则可以在服务器配置文件中按以下方法配置:AccessFileName .config 。

如何让自己的本地Apache服务器支持".htaccess"呢?其实只要简单修改一下apache的httpd.conf设置就可以让APACHE支持.htaccess了。打开httpd.conf文件(在那里? APACHE目录的CONF目录里面),用文本编辑器打开后,查找

?

<Directory "/usr/local/apache/htdocs/pub/html/">
    Options FollowSymLinks
    AllowOverride None
</Directory>

,其中

"/usr/local/apache/htdocs/pub/html/"

? 是你指定要过滤的目录,



改为

<Directory "/usr/local/apache/htdocs/pub/html/">
    Options FollowSymLinks
    AllowOverride All
</Directory>
?



就可以了.

?


如何建立.htaccess文件
.htaccess就是一个普通的文本文件,这样的文件在windows操作系统中无法建立,可以先建立一个htaccess.txt文件,上传到服务器以后再修改名车即可。(放在<Directory "/usr/local/apache/htdocs/pub/html/">指定的目录中)

?

?

.htaccess使用实例

屏蔽IP
禁止特定的IP

Order allow,deny
Allow from all
Deny from 218.3.207.197
Deny from 218.241.89.98
Deny from 113.128.3.135
Deny from 222.35.87.25

?


只允许特定的IP访问

order deny,allow
deny from all
allow from 61.228.209.85
?

?

?

?