大家是否测试Apache做了目录禁止浏览后,目录下面的txt文件还是可以显示里面的内容的。
例如:http://www.domain.com/test/此访问会报403错误,但是如果test下有很多txt,你访问该txt时;
例如:http://www.domain.com/test/a.txt,此时a.txt里的内容会全部暴露在外面了(有时这个txt是很机密的文件),这样以来就不安全了。
同样:我在Nginx配置后后也存在这样的问题,Apache下此问题的解决多谢NetSeek帮助。
如下是关于Apache和Nginx 限制该类事情办法:
【apache配置禁止访问】
1. 禁止访问某些文件/目录
增加Files选项来控制,比如要不允许访问 .inc 扩展名的文件,保护php类库:
<Files ~ "\.inc$">
Order allow,deny
Deny from all
</Files>
禁止访问某些指定的目录:(可以用 <DirectoryMatch> 来进行正则匹配)
<Directory ~ "^/var/www/(.+/)*[0-9]{3}">
Order allow,deny
Deny from all
</Directory>
通过文件匹配来进行禁止,比如禁止所有针对图片的访问:
<FilesMatch \.(?i:gif|jpe?g|png)$>
Order allow,deny
Deny from all
</FilesMatch>
针对URL相对路径的禁止访问:
<Location /dir/>
Order allow,deny
Deny from all
</Location>
针对代理方式禁止对某些目标的访问(<ProxyMatch> 可以用来正则匹配),比如拒绝通过代理访问cnn.com:
<Proxy http://cnn.com/*>
Order allow,deny
Deny from all
</Proxy>
2. 禁止某些IP访问/只允许某些IP访问
如果要控制禁止某些非法IP访问,在Directory选项控制:
<Directory "/var/www/web/">
Order allow,deny
Allow from all
Deny from 10.0.0.1 #阻止一个IP
Deny from 192.168.0.0/24 #阻止一个IP段
</Directory>
只允许某些IP访问,适合比如就允许内部或者合作公司访问:
<Directory "/var/www/web/">
Order deny,allow
Deny from all
All from example.com #允许某个域名
All from 10.0.0.1 #允许一个iP
All from 10.0.0.1 10.0.0.2 #允许多个iP
Allow from 10.1.0.0/255.255.0.0 #允许一个IP段,掩码对
All from 10.0.1 192.168 #允许一个IP段,后面不填写
All from 192.168.0.0/24 #允许一个IP段,网络号
</Directory>
Apache:解决办法;
<Directory "/home/domain/public_html">
Options -Indexes FollowSymLinks
AllowOverride All
<Files ~ ".txt">
Order allow,deny
Deny from all
</Files>
</Directory>
Nginx:解决办法;
location ~* \.(txt|doc)$ {
if (-f $request_filename) {
root /home/domain/public_html/test;
break;
}
}
Nginx下请大家注意标点符号的使用,不要漏掉后面的“;”!
分享到:
相关推荐
总结来说,Apache Nginx禁止目录执行PHP脚本文件的方法是通过服务器配置实现的,通过精确控制哪些目录中的PHP文件可以被执行,哪些不可以,从而增强整个网站的安全性。无论是Apache还是Nginx,都提供了丰富的指令集...
其中一项措施是禁止特定目录执行PHP脚本,以防止未经授权的代码执行和潜在的安全风险。本篇文章将详细介绍如何在Nginx、Apache和Lighttpd这三种流行的Web服务器上实现这一功能。 **Apache配置** 在Apache服务器上...
Nginx使用`location`指令来匹配URL路径,并通过`deny all`禁止访问。配置过程相对简单,如下所示: 1. 如果你只想禁止单个目录,比如`/uploads`,可以在配置文件中添加: ``` location ~* ^/uploads/.*\.(php|...
本文主要介绍如何在三种常见的Web服务器——IIS、Apache和Nginx上禁止特定目录执行ASP和PHP脚本,以确保图片上传目录等非执行脚本区域的安全。 ### IIS (Internet Information Services) 在IIS中,禁止目录执行...
在网络安全中,有时我们需要禁止特定的IP地址或IP段访问我们的网站,以保护服务器资源、防止恶意攻击或限制不必要的访问。针对不同的服务器环境,如Linux、PHP、Apache和Nginx,有不同的配置方法来实现这一目标。...
- **Nginx禁止访问某类型的文件**:通过配置可以阻止对某些文件类型的访问,这有助于保护服务器的安全。 - **使用ngx_http_access_module限制ip访问**:通过IP黑名单或白名单控制哪些IP地址可以访问服务器。 - *...
需要注意的是,Linux环境下可能需要额外的权限配置才能让Apache或Nginx(另一种常见服务器)正确读取和处理`.htaccess`或`web.config`文件。 总结来说,配置ThinkPHP框架的伪静态规则主要涉及到Apache的`.htaccess`...
访问控制方面,Nginx提供了身份验证、禁止访问某些类型的文件、限制IP访问、下载限制并发和速率、大文件上传限制以及实现类似Apache目录列表功能等多种方法。同时,Nginx还支持http_accesskey_module模块,用于增强...
在Nginx中,你需要指定一个包含用户名和密码哈希值的文件,通常这个文件放在一个非公开的目录下,以避免被未授权用户访问。 接下来,在Nginx的配置文件中开启HTTP Basic Auth认证功能。这可以通过在配置文件中加入...
访问控制是Nginx的一项重要功能,包括通过身份验证来限制访问,禁止访问特定类型的文件,使用ngx_http_access_module模块限制IP地址访问,以及对大文件上传和下载进行限制。Nginx还能实现类似Apache的目录列表功能。...
Apache配置中,通常会使用`<Directory>`和`<FilesMatch>`指令来限制特定目录中文件的执行权限。以下是一个示例: ```apacheconf (?i:.php)"> // ? 是尽可能多的匹配.php的字符串,i是不区分大小写,然后冒号后面...
**10.2 Nginx禁止访问某类型的文件** 可以禁止对某些文件类型的访问,增强安全性。 **10.3 使用ngx_http_access_module限制ip访问** 通过ngx_http_access_module模块,可以限制特定IP地址的访问。 **10.4 Nginx...
- 禁止访问特定文件夹(DENY ACCESS TO FOLDER(S)) - 动态TLS优化(DYNAMIC TLS (OPTIMIZING TLS OVER TCP)) - Sendfile操作的开启与关闭(SENDFILE ON/OFF) - 使用流控制块配置(STREAM {} SERVER_NAME?) 6....
Nginx禁止访问某类型的文件** - 通过`location`指令指定禁止访问的文件类型。 **3. 使用ngx_http_access_module限制ip访问** - 可以使用`allow`和`deny`指令来控制特定IP地址或范围的访问权限。 **4. Nginx下载...
1. **目录遍历概念**:目录遍历攻击是一种常见的Web应用程序安全漏洞,攻击者尝试通过在URL中输入特定的路径或字符串来访问服务器上的非公开目录和文件。例如,他们可能会尝试使用“../”或“..%2f”等符号来“向上...
为了防止未经授权的直接URL访问,Web服务器(如Apache、Nginx或Tomcat)可以通过配置来限制对某些目录或文件的访问。例如,可以设置访问控制指令,仅允许特定IP或用户访问特定资源。 3. **Java Servlet**: 在...
9. **安全配置**:应确保禁止目录浏览,限制敏感文件的访问,并启用安全选项如`Options -Indexes -Includes -ExecCGI`。 10. **故障排查**:当配置变动后,需用`apachectl configtest`检查语法错误,然后重启Apache...
对于Web服务器,比如Apache或Nginx,防止匿名访问可能涉及到限制对某些目录的访问。在Apache的`.htaccess`文件中,可以使用`Deny from all`指令来阻止所有IP的访问,或者使用`Require valid-user`来要求用户提供有效...
最后,启动Nginx和MySQL服务,通过浏览器访问localhost或你设置的域名,你应该能看到Nginx的欢迎页面。创建一个简单的PHP测试页,如info.php,包含`(); ?>`,如果能正确显示PHP信息,那么恭喜你,你的WAMP环境已经...