小知识:Nginx跨域访问场景配置和防盗链详解

跨域访问控制

跨域访问

%小知识:Nginx跨域访问场景配置和防盗链详解-猿站网-插图

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

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

%小知识:Nginx跨域访问场景配置和防盗链详解-1猿站网-插图

如果黑客控制的网站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跨域配置
1location ~ .*\.(htm|html)$ {
2add_header Access-Control-Allow-Origin *;
3add_header Access-Control-Allow-Methods GET,POST,PUT,DELETE,OPTIONS;
4root /opt/app/code;
5}
  

防盗链

防盗链目的

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

基于http_referer防盗链配置模块

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

举例

01valid_referers none blocked server_names
02
03*.example.com example.* www.example.org/galleries/
04
05~\.google\.;
06
07if ($invalid_referer) {
08
09return 403;
10
11}

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 目录下)

1<html>
2<head>
3<meta charset=”utf-8″>
4<title>imooc1</title>
5</head>
6<body style=”background-color:red;”><br data-filtered=”filtered”>   <h1>张彪</h1>
8</body>
9</html>

%小知识:Nginx跨域访问场景配置和防盗链详解-2猿站网-插图

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

01location ~ .*\.(jpg|gif|png)$ {
02valid_referers none blocked www.zhangbiao.com;
03if ($invalid_referer) {
04return 403;
05}
06root /opt/app/code/images;
07}
08location ~ /test_refer.html {
09root /opt/app/code;
10
11}

访问

%小知识:Nginx跨域访问场景配置和防盗链详解-3猿站网-插图

访问

%小知识:Nginx跨域访问场景配置和防盗链详解-4猿站网-插图

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

%小知识:Nginx跨域访问场景配置和防盗链详解-5猿站网-插图

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。

声明: 猿站网有关资源均来自网络搜集与网友提供,任何涉及商业盈利目的的均不得使用,否则产生的一切后果将由您自己承担! 本平台资源仅供个人学习交流、测试使用 所有内容请在下载后24小时内删除,制止非法恶意传播,不对任何下载或转载者造成的危害负任何法律责任!也请大家支持、购置正版! 。本站一律禁止以任何方式发布或转载任何违法的相关信息访客发现请向站长举报,会员发帖仅代表会员个人观点,并不代表本站赞同其观点和对其真实性负责。本网站的资源部分来源于网络,如有侵权烦请发送邮件至:2697268773@qq.com进行处理。
建站知识

小知识:linux 磁盘配额 简单介绍

2023-5-19 2:31:05

建站知识

小知识:Linux服务器架设笔记 Squid服务器配置

2023-5-19 2:41:22

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索