之前在网上看到过几篇所谓的在.htaccess中禁止IP访问的教程,但是很明显,发这些教程的人基本都是转载的,自己都不明白其含义,人云亦云,转载错误的教程,反过来误导他人。
什么是htaccess
htaccess文件(或者”分布式配置文件”)提供了针对目录改变配置的方法, 即,在一个特定的文档目录中放置一个包含一个或多个指令的文件, 以作用于此目录及其所有子目录。作为用户,所能使用的命令受到限制。管理员可以通过Apache的AllowOverride指令来设置。
概述来说,htaccess文件是Apache服务器中的一个配置文件,它负责相关目录下的网页配置。通过htaccess文件,可以帮我们实现:网页301重定向、自定义404错误页面、改变文件扩展名、允许/阻止特定的用户或者目录的访问、禁止目录列表、配置默认文档等功能
连续半个月了。。受够了几个IP段的流氓留言,决定把几个IP端拉入禁止访问列表
可以通过.htaccess作用来设置禁止访问的IP和IP段。
代码如下 |
复制代码 |
Order Allow,Deny Deny from 92.241.169 Allow from all
|
.htaccess禁止IP 的话直接某个IP,禁止IP段 的话就是:Deny from 92.241.169。(92.241.169.1-92.241.169.254)
效果就是访问显示:
Forbidden
You don't have permission to access / on this server.
Additionally, a 403 Forbidden error was encountered while trying to use an ErrorDocument to handle the request.
下面我就来详细介绍htaccess设置网站禁止某个ip访问
代码如下 |
复制代码 |
Order deny,allow deny from 8.8.8.8 #禁止多个ip可以继续在这里添加 deny from 8.8.8.18 deny from xxx.com xb.com #拒绝域名为xxx.com、xb.com的访问 allow from all
|
htaccess禁止一段个ip段访问
代码如下 |
复制代码 |
order deny,allow allow from 8.8.8.1 deny from 8.8.
|
#代表拒绝8.8开头的IP访问,但允许8.8.8.1通过;而其它的IP都允许访问。
htaccess设置网站只允许某个ip访问
代码如下 |
复制代码 |
Order deny,allow deny from all allow from 8.8.8.1 #多个ip可以继续在这里添加
|
另一种写法:
代码如下 |
复制代码 |
Order allow,deny allow from 8.8.8.1
|
#同上面一样只允许某个ip可以访问
怎样禁止用户访问特定的目录呢?
在要禁止访问的目录下新建.htaccess文件,根据自己的需要修改好并上传就可以了。
禁止某类文件被访问
比如我是用php空间,上面根本就没有.asp .aspx .mdb文件的
查网站的日志的 就会发现很多扫这类文件的
估计是通过找漏洞搞的,,
将下面的代码添加到.htaccess文件并上传
代码如下 |
复制代码 |
<FilesMatch (.*).(asp|aspx|mdb)$> order allow,deny deny from all </FilesMatch>
|
其他类型的文件自己依葫芦画瓢
Drupal里面有这样的一段
代码如下 |
复制代码 |
<FilesMatch ".(engine|inc|info|install|make|module|profile|test|po|sh|.*sql|theme|tpl(.php)?|xtmpl|svn-base)$|^(code-style.pl|Entries.*|Repository|Root|Tag|Template|all-wcprops|entries|format)$"> Order allow,deny </FilesMatch>
|
如果能把出403错误的转到一些邪恶的页面 那就有意思了