web服务器设置网站目录访问限制

发布时间:2024年01月16日

目录

一:背景

二:apache配置

三:nginx配置


一:背景

在配置web服务器的过程中,我们经常需要限制用户随意输入的访问链接,比如限制用户访问某个目录,或者限制用户访问目录下的文件,这样可以保证我们的系统的安全。防止恶意用户或者程序爬取我们网站上的资源。下面我们介绍下nginx和apache下怎么设置限制目录或者文件的访问。

二:apache配置

Apache可以通过配置文件来禁止访问目录和文件。使用.htaccess文件:在要禁止访问的目录中创建一个名为".htaccess"的文件,并将内容添加到该文件中,还可以修改Apache配置文件httpd.conf

(一)配置文件

限制访问目录

<Directory "d:/web"> ?
? ? Order Deny,Allow ?
? ? Deny from all ?
</Directory>

这个表示限制访问d:/web目录

限制访问文件

<Directory "d:/web">
? Options FollowSymLinks?
? AllowOverride All?
<Files ~ ".jpg|.txt">?
? Order allow,deny?
? ?Deny from all?
</Files>?
</Directory>

这个表示限制访问d:/web目录下文件是后缀是jpg或者txt的文件。

(二).htaccess 配置

修改conf文件如下:
Options FollowSymLinks?
AllowOverride All?

说明:

当FollowSymLinks选项被设置为开启(即,Options +FollowSymLinks),Apache服务器将跟踪符号链接并处理目标文件或目录。这意味着如果请求指向一个符号链接,Apache将访问该链接指向的实际文件或目录。

在Apache中,AllowOverride指令用于控制是否允许使用.htaccess文件覆盖服务器配置文件中的指令。AllowOverride All表示允许使用.htaccess文件完全覆盖服务器配置文件中的指令。

当AllowOverride设置为All时,Apache服务器将允许.htaccess文件中的指令覆盖服务器配置文件中的相应指令。这意味着在.htaccess文件中定义的任何指令都将覆盖服务器配置文件中相同指令的设置。

开启模块:
LoadModule rewrite_module modules/mod_rewrite.so?

htaccess 文件配置如下:

Options -Indexes

这个表示限制访问网站目录


<Files "dir1, dir2"> ?
? ? Order deny,allow ?
? ? Deny from all ?
</Files>

这个表示限制访问文件

三:nginx配置

要在Nginx中禁止访问目录和文件,可以使用location块和deny指令。以下是一些示例配置,用于禁止访问目录和文件:

(一)配置文件

限制访问某些后拽

location ~ \.(ini|conf|txt)$ {
? ? ? ?deny all;
}

限制访问目录

location ^~ /test/ {
? ? deny all;
}

限制访问目录下文件

location ^~ /test {
? ? deny all;
}

文章来源:https://blog.csdn.net/qinshi501/article/details/135628804
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。