文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>nginxs配置文件防盗链

nginxs配置文件防盗链

时间:2010-09-03  来源:meteoric_cry

一般网站为了防止资源被外部链接所盗用,都会使用防盗链来进行处理。思路就是判断请求的域名 如下一个相对完全的示例:
#VHOST: x.abc.com
server {
        listen       80;
        server_name  x.abc.com;
        charset utf-8;
        access_log off;

        location / {
                return 404;
        }

        location /themes/ {
                alias   C:/abc/abc_Web/themes/;

                valid_referers none blocked server_names abc.com *.abc.com *.abc.net;
                if ($invalid_referer) {
                        return 403;
                }

                if ($document_uri ~ "^/themes/(default|img\/(icon|upload))/.*") {                     
                        break;
                }

                if ($document_uri ~ "^/themes/js/(app|widgets)/.*"){                  
                        break;
                }               
        }

        location /game/ {
                alias   C:/abc/abc_Web/game/;

                valid_referers none blocked server_names abc.com *.abc.com *.abc.net;
                if ($invalid_referer) {
                        return 403;
                }
        }

        location /images/ {
                alias   C:/abc/abc_Web/images/;
        }
}

 

 

这段代码的意思是:

listen       80;  监听的端口为80

server_name  x.abc.com; 服务器名称为x.abc.com

charset utf-8; 字符集编码为utf-8

access_log off;  不记录访问log日志

location / {
        return 404;
    }

不允许直接访问根目录

 

http://x.abc.com/themes/ 将访问指向本地 C:/abc/abc_Web/themes/;

valid_referers none blocked server_names abc.com *.abc.com *.abc.net;

上面这段就是重点,valid_referers none 阻止referers,排除referers为abc.com *.abc.com *.abc.net的域名

然后就是验证了:$invalid_referer

if ($invalid_referer) {
            return 403;
        }

 

满足条件则返回403

 

 

可以使得正则匹配指定的资源,如.gif或.jpg、.swf、.mp3结尾的资源,还有就是判断其host..

相关阅读 更多 +
排行榜 更多 +
宝宝情商养成宝宝巴士

宝宝情商养成宝宝巴士

休闲益智 下载
燥热手机版

燥热手机版

飞行射击 下载
巨人狙击手安卓版

巨人狙击手安卓版

飞行射击 下载