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的访问控制的更多相关文章

  1. nginx站点目录及文件URL访问控制

    一.根据扩展名限制程序和文件访问 利用nginx配置禁止访问上传资源目录下的PHP.Shell.Perl.Python程序文件. 配置nginx,禁止解析指定目录下的指定程序. location ~ ...

  2. [nginx]站点目录及文件访问控制

    nginx.conf配置文件 http ->多个server -> 多个location ->可限制目录和文件访问(根据i扩展名限制或者rewrite.) 根据目录或扩展名,禁止用户 ...

  3. tomcat相关配置技巧梳理 (修改站点目录、多项目部署、限制ip访问、大文件上传超时等)

    tomcat常用架构:1)nginx+tomcat:即前端放一台nginx,然后通过nginx反向代理到tomcat端口(可参考:分享一例测试环境下nginx+tomcat的视频业务部署记录)2)to ...

  4. nginx+php使用open_basedir限制站点目录防止跨站

    以下三种设置方法均需要PHP版本为5.3或者以上.方法1)在Nginx配置文件中加入 fastcgi_param PHP_VALUE "open_basedir=$document_root ...

  5. Nginx+Php中限制站点目录防止跨站的配置方案记录

    Nginx+Php中限制站点目录防止跨站的配置方案记录(使用open_basedir)-------------------方法1)在Nginx配置文件中加入: 1 fastcgi_param  PH ...

  6. Nginx中的root&alias文件路径及索引目录配置详解

    这篇文章主要介绍了Nginx中的root&alias文件路径及索引目录配置,顺带讲解了root和alias命令的用法,需要的朋友可以参考下     root&alias文件路径配置ng ...

  7. nginx 设置http访问ftp目录内文件

    设置 nginx “403 Forbidden” 错误的原因及解决办法 原文链接 https://www.cnblogs.com/chenzc/p/4461130.html nginx 的 403 F ...

  8. Nginx 禁止访问某个目录或文件的设置方法

    如果基于WEB根目录下,要禁止用户访问/config目录,或者要禁止用户访问/config.ini(ZF常用INI,不过建议还是放到WEB目录以外的地方),可以通过location进行配置,返回403 ...

  9. Ubuntu系统下lnmp环境搭建和Nginx多站点配置

    最近需要使用Ubuntu作为服务器搭建Lnmp环境,顺便将操作过程写下来,与大家分享.如有不足之处,欢迎大家提出不同意见.(本文默认读者已经熟悉相关linux命令的使用,比如创建文件和文件夹,编辑文件 ...

随机推荐

  1. 如何开启windows的linux子系统

    win10一周年纪念版  1607的版本增加了bash,bash,bash,windows的shell中可以直接运行bash了. 下面说一下配置步骤: 1.设置 —更新和安全—针对开发人员,选择开发人 ...

  2. JDK中ThreadDump诊断Java代码中的线程死锁问题

    多线程的死锁..死锁不是死了而是线程互相等待... 在项目中可能就是在几十万行的代码中存在一个死锁的问题,如何发现这个问题并且解决这个问题. JavaJDK为我们提供了一个诊断工具叫做ThreadDu ...

  3. C# 多线程七之Parallel

    1.简介 关于Parallel不想说太多,因为它是Task的语法糖,至少我是这么理解的,官方文档也是这么说的,它本身就是基本Task的.假设我们有一个集合,不管是什么集合,我们要遍历它,首先想到的是F ...

  4. Postman入门

  5. 整理学习ASP.NET MVC的资源

    网站 http://www.asp.net/mvc http://stackoverflow.com/questions/tagged/asp.net-mvc+asp.net-mvc-4?sort=n ...

  6. 第一个WCF程序

    WCF的服务需要寄宿在进程中,我们把服务端的叫做宿主,为服务指定宿主指定的过程叫服务寄宿.有两种方式一种是自我寄宿(Self-Hosting),一种是IIS寄宿方式.Self-Hosting我们通过一 ...

  7. 微信小程序——<radio></radio>大小改变

    css样式改变大小: transform:scale(.7);

  8. google 被墙的解决办法

    昨晚无意中发现的东西,分享给各位使用,google搜索技术方面的东西还是很准确的,可惜被墙了,但是上有政策下有对策…… 谷歌地址: http://74.125.224.18/ http://91.21 ...

  9. GCD之同步异步

    博客地址:http://blog.csdn.net/chaoyuan899/article/details/12554603

  10. [转]oracle in 多个字段

    本文转自:https://www.cnblogs.com/Springmoon-venn/p/7016409.html oracle 使用in的时候使用多个字段 这个也是刚需啊. 最近有个需求,在一堆 ...