189 8069 5689

Nginx中跨域访问场景配置和防盗链的示例分析-创新互联

这篇文章主要介绍了Nginx中跨域访问场景配置和防盗链的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

目前成都创新互联已为上千家的企业提供了网站建设、域名、网络空间、网站托管、服务器托管、企业网站设计、勃利网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。

跨域访问控制

跨域访问

Nginx中跨域访问场景配置和防盗链的示例分析

为什么浏览器禁止跨域访问

不安全,容易出现CSRF攻击!

Nginx中跨域访问场景配置和防盗链的示例分析

如果黑客控制的网站B在响应头里添加了让客户端去访问网站A的恶意信息,就会出现CSRF攻击

Nginx如何配置跨域访问

add_header语法

  • Syntax:add_header name value [always];

  • Default:—

  • Context:http, server, location, if in location

语法解释:

  • add_header name value [always];

  • name 表示响应头返回的key

  • value 表示响应头返回的key对应的value

  • add_header跨域配置

location ~ .*\.(htm|html)$ {
  add_header Access-Control-Allow-Origin *;
  add_header Access-Control-Allow-Methods GET,POST,PUT,DELETE,OPTIONS;
  root /opt/app/code;
}

防盗链

防盗链目的

  • 防止资源被盗用。

  • 防止非正常用户访问,占用网站资源,影响网站性能,势必影响正常用户访问

基于http_referer防盗链配置模块

ngx_http_referer_module模块用于阻止对“Referer”头字段中具有无效值的请求访问站点。

举例

valid_referers none blocked server_names
 
        *.example.com example.* www.example.org/galleries/
 
        ~\.google\.;
 
if ($invalid_referer) {
 
  return 403;
 
}

referer_hash_bucket_size语法

  • Syntax: referer_hash_bucket_size size;  

  • Default: referer_hash_bucket_size 64;

  • Context: server, location

语法解释:

referer_hash_bucket_size size;表示设置有效引用散列表的存储区大小。

referer_hash_max_size 语法

  • Syntax: referer_hash_max_size size;

  • Default: referer_hash_max_size 2048;

  • Context: server, location

语法解释:

referer_hash_max_size size;表示设置有效引用者哈希表的大大小。

valid_referers语法

  • Syntax: valid_referers none | blocked | server_names | string ...;

  • Default: —

  • Context: server, location

语法解释:

  • valid_referers none | blocked | server_names | string ...;

  • none表示请求标头中缺少“Referer”字段;

  • blocked表示“Referer”字段出现在请求标头中,但其值已被防火墙或代理服务器删除; 这些值是不以“http://”或“https://”开头的字符串;

  • server_names 表示“Referer”请求头字段包含一个服务器名称;

  • string 表示定义服务器名称和可选的URI前缀。 服务器名称的开头或结尾可以包含“*”。 在检查期间,“Referer”字段中的服务器端口被忽略;

防盗链小案例

touch test_referer.html (在 /op/app/code 目录下)



  
  imooc1

   

张彪

  

Nginx中跨域访问场景配置和防盗链的示例分析

配置防盗链如果不是从 www.zhangbiao.com 域名转来的就会报错

location ~ .*\.(jpg|gif|png)$ {
  valid_referers none blocked www.zhangbiao.com;
  if ($invalid_referer) {
    return 403;
  }
  root /opt/app/code/images;
}
location ~ /test_refer.html {
  root /opt/app/code;
 
}

访问

http://192.168.1.112/test_refer.html

Nginx中跨域访问场景配置和防盗链的示例分析

访问

http://www.zhangbiao.com/test_refer.html

Nginx中跨域访问场景配置和防盗链的示例分析

允许其他网站访问自己网站资源配置

Nginx中跨域访问场景配置和防盗链的示例分析

感谢你能够认真阅读完这篇文章,希望小编分享的“Nginx中跨域访问场景配置和防盗链的示例分析”这篇文章对大家有帮助,同时也希望大家多多支持创新互联成都网站设计公司,关注创新互联成都网站设计公司行业资讯频道,更多相关知识等着你来学习!

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、网站设计器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


文章名称:Nginx中跨域访问场景配置和防盗链的示例分析-创新互联
分享链接:http://jkwzsj.com/article/cscioj.html

其他资讯