Nginx的站点目录及文件URL的访问控制
1、根据扩展名限制程序和文件访问:
web2.0时代,绝大多数网站都是以用户为中心的,这些产品有一些共同点,就是不允许用户发布内容到服务器,还允许用户发图片甚至附件上传到服务器上,给用户开启了上传的功能。带来了很大的安全隐患。
下面将利用nginx配置禁止访问上传资源目录下的PHP,SHELL,PERL,PYTHON程序文件,这样就算是用户上传了木马文件也没办法执行
location ~ ^/images/.*\.(php|php5|.sh|.pl|.py)$
{
deny all;
}
location ~ ^/static/.*\.(php|php5|.sh|.pl|.py)$
{
deny all;
}
location ~* ^/data/(attachment|avatar)/.*\.(php|php5)$
{
deny all;
}
2、禁止访问指定目录下的所有文件和目录:
配置禁止访问指定的单个或多个目录
location ~ ^/(static)/ {
deny all;
}
location ~ ^/static {
deny all;
}
禁止访问目录并且返回代码404
server {
listen 80;
server_name www.brian.org;
root /opt/nginx/html;
index index.html index.htm;
access_log logs/brian.log main gzip buffer=128k flush=5s;
location /admin/ { return 404; }
location /templates/ { return 403; }
}
3、限制网站来源的IP访问:
使用ngx_http_access_module限制网站来源IP访问。
范例1:禁止外界访问,但允许某个IP访问该目录
location ~ ^/brian/ {
allow 202.111.12.211;
deny all;
}
范例2:限制及指定IP或IP段访问
location / {
deny 192.168.1.1;
allow 192.168.1.0/24;
allow 10.1.1.0/16;
deny all;
}
4、配置nginx禁止非法域名解析访问企业网站:
问题:nginx如何防止用户IP访问网站(恶意域名解析,相当于直接使用IP访问网站)
方法1:直接报错,用户体验不好
server {
listen 80 default_server;
server_name _;
return 501;
}
方法2:通过301跳转到主页
server {
listen 80 default_server;
server_name _;
rewrite ^(.*) http//:blog.brian.com/$1 permanent;
}
Nginx的站点目录及文件URL的访问控制的更多相关文章
- nginx站点目录及文件URL访问控制
一.根据扩展名限制程序和文件访问 利用nginx配置禁止访问上传资源目录下的PHP.Shell.Perl.Python程序文件. 配置nginx,禁止解析指定目录下的指定程序. location ~ ...
- [nginx]站点目录及文件访问控制
nginx.conf配置文件 http ->多个server -> 多个location ->可限制目录和文件访问(根据i扩展名限制或者rewrite.) 根据目录或扩展名,禁止用户 ...
- tomcat相关配置技巧梳理 (修改站点目录、多项目部署、限制ip访问、大文件上传超时等)
tomcat常用架构:1)nginx+tomcat:即前端放一台nginx,然后通过nginx反向代理到tomcat端口(可参考:分享一例测试环境下nginx+tomcat的视频业务部署记录)2)to ...
- nginx+php使用open_basedir限制站点目录防止跨站
以下三种设置方法均需要PHP版本为5.3或者以上.方法1)在Nginx配置文件中加入 fastcgi_param PHP_VALUE "open_basedir=$document_root ...
- Nginx+Php中限制站点目录防止跨站的配置方案记录
Nginx+Php中限制站点目录防止跨站的配置方案记录(使用open_basedir)-------------------方法1)在Nginx配置文件中加入: 1 fastcgi_param PH ...
- Nginx中的root&alias文件路径及索引目录配置详解
这篇文章主要介绍了Nginx中的root&alias文件路径及索引目录配置,顺带讲解了root和alias命令的用法,需要的朋友可以参考下 root&alias文件路径配置ng ...
- nginx 设置http访问ftp目录内文件
设置 nginx “403 Forbidden” 错误的原因及解决办法 原文链接 https://www.cnblogs.com/chenzc/p/4461130.html nginx 的 403 F ...
- Nginx 禁止访问某个目录或文件的设置方法
如果基于WEB根目录下,要禁止用户访问/config目录,或者要禁止用户访问/config.ini(ZF常用INI,不过建议还是放到WEB目录以外的地方),可以通过location进行配置,返回403 ...
- Ubuntu系统下lnmp环境搭建和Nginx多站点配置
最近需要使用Ubuntu作为服务器搭建Lnmp环境,顺便将操作过程写下来,与大家分享.如有不足之处,欢迎大家提出不同意见.(本文默认读者已经熟悉相关linux命令的使用,比如创建文件和文件夹,编辑文件 ...
随机推荐
- Strom的trident小例子
上代码: public class TridentFunc { /** * 类似于普通的bolt */ public static class MyFunction extends BaseFunct ...
- spring mvc 数据转换
项目目录结构 User.java package org.mythsky.springmvcdemo.model; import org.springframework.format.annotati ...
- 全网最详细的Hadoop HA集群启动后,两个namenode都是active的解决办法(图文详解)
不多说,直接上干货! 这个问题,跟 全网最详细的Hadoop HA集群启动后,两个namenode都是standby的解决办法(图文详解) 是大同小异. 欢迎大家,加入我的微信公众号:大数据躺过的坑 ...
- PHP-引入文件(include)后,页面错位,不居中解决办法
1.把include文件放在head里,不要放在html或doctype上面,这样可以解决居中的问题,空白行的话可以用<div style="display:none"> ...
- xunsearch使用记录
部署,配置,有时间在记录 <?php namespace APPlib; class XSGameku { public $error; public $xs; public $search; ...
- 微信小程序开发语言的选择
微信使用的开发语言和文件很「特殊」. 小程序所使用的程序文件类型大致分为以下几种: ①WXML(WeiXin Mark Language,微信标记语言) ②WXSS(WeiXin Style Shee ...
- Java 8 新特性-菜鸟教程 (4) -Java 8 默认方法
Java 8 默认方法 Java 8 新增了接口的默认方法. 简单说,默认方法就是接口可以有实现方法,而且不需要实现类去实现其方法. 我们只需在方法名前面加个default关键字即可实现默认方法. 为 ...
- centos7之使用最新版的kubeadm体验k8s1.12.0
1.环境准备 centos7 .docker-ce18.06.1-ce.kubeadm.kubelet.kubectl 2.安装 yum安装,准备repo文件 docker: [docker-ce-s ...
- linq中last或者lastordefault不存在的问题
在使用linq访问数据库的时候发现first以及firstordefault都存在,但是last以及lastordefault不存在.上网找寻一番发现是last只在linq to object中实现了 ...
- SpringMVC源码阅读:拦截器
1.前言 SpringMVC是目前J2EE平台的主流Web框架,不熟悉的园友可以看SpringMVC源码阅读入门,它交代了SpringMVC的基础知识和源码阅读的技巧 本文将通过源码(基于Spring ...