OSS+CDN的资费和安全

文章目录

    • 花费
      • OSS
      • CDN
      • OSS + CDN
    • 安全
      • OSS
        • 防盗链
        • 跨域设置CORS
        • 数据加密
      • CDN
        • 防盗链
        • URL鉴权
        • Cookie鉴权
        • 远程鉴权
        • IP黑白名单
        • UA黑白名单
      • 回源服务
        • 自定义私有参数
        • IP黑白名单
        • 数据加密

花费

OSS

  • 存储费用 :0.12元/GB/月
  • 下行流量费用 :0.5元/GB
  • 请求费用 :0.01元/10000次

CDN

  • 下行流量费用:0.24元/GB(梯度计费,用的越多越便宜)
  • 静态HTTPS请求数:0.05元/万次

OSS + CDN

  • CDN流出流量:由CDN收取费用:0.24元/GB
  • CDN回源流出流量:由OSS收取费用:0.15元/GB
  • 请求费用:由OSS收取费用:0.01元/万次

安全

OSS

防盗链

防盗链通过设置Referer列表(包括白名单Referer和黑名单Referer)以及是否允许空Referer的方式,限制您Bucket内资源的访问来源,避免Bucket内的资源被其他人盗用。

开启防盗链后,OSS会根据请求Header中的Referer地址判断访问来源的方式,确定是否允许当前请求。具体流程如下图所示。

在这里插入图片描述

  1. 判断请求Referer是否为空。
    • 如果请求Referer为空,则查看是否允许空Referer。
      • 如果允许空Referer,则请求被允许。
      • 如果不允许空Referer,且白名单Referer列表为空,则请求被允许。
      • 如果不允许空Referer,且白名单Referer列表不为空,则请求被拒绝。
    • 如果请求Referer不为空,则执行步骤2。
  2. 判断黑名单Referer列表是否为空。
    • 如果黑名单Referer列表为空,且白名单Referer列表为空,则请求被允许。
    • 如果黑名单Referer列表为空,且白名单Referer列表不为空,则跳过步骤3,执行步骤4。
    • 如果黑名单Referer列表不为空,则执行步骤3。
  3. 遍历黑名单Referer列表。
    • 如果黑名单Referer列表存在匹配条目,则请求被拒绝。
    • 如果黑名单Referer列表不存在匹配条目,则执行步骤4。
  4. 遍历白名单Referer列表。
    • 如果白名单Referer列表存在匹配条目,则请求被允许。
    • 如果白名单Referer列表不存在匹配条目,则请求被拒绝。
跨域设置CORS

同源检测 跨域访问是浏览器出于安全考虑而设置的一个限制,即同源策略,是用于隔离潜在恶意文件的关键安全机制。当A、B两个网站属于不同域时,来自于A网站页面中的JavaScript代码访问B网站时,浏览器会拒绝该访问。

同协议、同域名(或IP)以及同端口视为同域。两个页面的协议、域名和端口(如果指定了端口)相同,则视为同源。下表给出了相对http://www.aliyun.com/org/test.html的同源检测示例:

URL访问是否成功原因
http://www.aliyun.com/org/other.html协议、域名、端口相同
http://www.aliyun.com/org/internal/page.html协议、域名、端口相同
https://www.aliyun.com/page.html协议不同(HTTPS)
http://www.aliyun.com:22/dir/page.html端口不同(22)
http://help.aliyun.com/dir/other.html域名不同

从上表中可以看出,协议、域名或者端口不同的情况下,浏览器会拒绝该来源的访问。如果要允许这些来源的访问,需要设置跨域规则。

数据加密

CDN

防盗链

配置访问请求来源的域名(即Referer黑名单和白名单),实现对访客身份的识别和过滤,限制访问CDN资源的用户,禁止其他网站引用您的资源链接。

URL鉴权

URL鉴权是指用户按照指定的签名方式对于特定的URL增加鉴权认证,您可以通过自行配置校验鉴权URL中的加密串和时间戳,保护用户站点的资源不被非法站点下载盗用。URL鉴权比Referer防盗链安全性更高,适合于安全密级较高的文件。

  • 源站应用服务器:根据鉴权URL生成规则(包括鉴权算法、密钥)生成鉴权URL返回给客户端。
  • 客户端:发起资源请求,并发送鉴权URL给CDN节点进行验证。
  • CDN节点:对鉴权URL中的鉴权信息(鉴权字符串、时间戳等)进行验证。

示例

1.应用服务器生成如下的URL

原始URL:http://aaa.example.com/video/test.flv

加鉴权后URL:http://cdn.com/video/test.flv?Signature=hmac(timestamp,md5(filePath),key)&Expires=xxxx

  • Expires为将来的某个时间

  • filePath : /video/test.flv

2.CDN查看传入的timestamp看是否是超过30min。

3.CDN按相同的hmac校验是否篡改。

要把key和可支持的过期时间在CDN提前配置好。

Cookie鉴权

签名 Cookie 提供有限的权限和时间用于向一组文件发出请求。

下列情况下,可以使用签名 Cookie

  • 您需要提供对多个受限文件的访问权限。
  • 您不想更改当前网址。
  • 您不希望在每次刷新授权时要更新网址后才能访问内容。

要是客户禁用cookie或不支持cookie的设备就拉了

配置和发布签名 Cookie 的过程分为三个步骤

  • 源站应用服务器:给指定Domain生成鉴权Cookie返回给客户端。
    • Cookie 值: 网址前缀、过期时间、键名称和加密签名
  • 客户端:发起资源请求,并发送URL给CDN节点进行验证。
  • CDN节点:对鉴权Cookie中的鉴权信息(鉴权字符串、时间戳等)进行验证。

示例Cookie:

// 一体
Set-Cookie: Cloud-CDN-Cookie=URLPrefix=aHR0cHM6Ly9tZWRpYS5leGFtcGxlLmNvbS92aWRlb3Mv:Expires=1566268009:KeyName=mySigningKey:Signature=0W2xlMlQykL2TG59UZnnHzkxoaw=; Domain=media.example.com; Path=/; Expires=Tue, 20 Aug 2019 02:26:49 GMT; Secure; HttpOnly
// 分开
Set-Cookie: 
CloudFront-Expires=date and time in Unix time format (in seconds) and Coordinated Universal Time (UTC); 
Domain=optional domain name; 
Path=/optional directory path; 
Secure; 
HttpOnlySet-Cookie: 
CloudFront-Signature=hashed and signed version of the policy statement; 
Domain=optional domain name; 
Path=/optional directory path; 
Secure; 
HttpOnlySet-Cookie: 
CloudFront-Key-Pair-Id=public key ID for the CloudFront public key whose corresponding private key you're using to generate the signature; 
Domain=optional domain name; 
Path=/optional directory path; 
Secure; 
HttpOnly

Cookie 中的 DomainPath 属性决定了客户端是否将 Cookie 发送到 Cloud CDN。

  • 明确设置 DomainPath 属性,以匹配您希望从中传送受保护内容的网域和路径前缀,这可能与签发 Cookie 的网域和路径不同(分别是 example.commedia.example.com,或者分别是 /browse/videos)。

  • 对于同一个 DomainPath,请确保您只有一个具有指定名称的 Cookie。

  • 请确保您未签发有冲突的 Cookie,否则可能导致无法在其他浏览器会话(窗口或标签页)中访问内容。

  • 在适用的情况下设置 SecureHttpOnly 标志。 Secure 可确保仅通过 HTTPS 连接发送 Cookie。HttpOnly 会禁止 JavaScript 使用 Cookie。

  • Cookie 特性 ExpiresMax-Age 是可选的。如果您省略这些特性,则 Cookie 会在浏览器会话(标签页或窗口)存在期间保持存在。

    注意:此处提及的 Expires 属性是出现在 Cookie 值之外的属性(如果有)。请勿将此属性与 Cookie 值中必需的 Expires 参数混淆。Cookie 值中包含的 Expires 参数指定 Cloud CDN 允许用户访问受保护内容的时间限制。此时间限制与 Cookie 的有效期无关。

  • 在缓存填充或缓存未命中时,签名 Cookie 会传递到后端服务中定义的源站。请确保首先验证每个请求的签名 Cookie 值,之后再传送内容。

Set-Cookie: =; Domain=; Secure; HttpOnly

  • Expires 设置 cookie 的过期时间(时间戳),这个时间是客户端时间
  • Max-Age 设置 cookie 的保留时长(秒数),同时存在 Expires 和 Max-Age 的话,Max-Age 优先
  • Domain 设置生效的域名,默认就是当前域名,不包含子域名
  • Path 设置生效路径,/ 全匹配
  • Secure 设置 cookie 只在 https 下发送,防止中间人攻击
  • HttpOnly 设置禁止 JavaScript 访问 cookie,防止XSS
  • SameSite 设置跨域时不携带 cookie,防止CSRF
远程鉴权

远程鉴权和URL鉴权的作用一样,都用于保护资源,让资源只被授权成功的用户访问,非授权用户将无法访问。差异点在于URL鉴权是由CDN节点完成鉴权;远程鉴权是用户有自己单独的鉴权服务器,由用户自主管理。

IP黑白名单

可以通过配置访问请求来源的IP地址(即IP黑名单和白名单),来实现对访客身份的识别和过滤,限制访问CDN资源的用户,防止恶意IP盗刷、攻击等问题。

UA黑白名单

User-Agent是访问请求客户端的标识,当您想指定访问的客户端时,可以通过配置User-Agent黑名单和白名单来实现对访客身份的识别和过滤,保证用户只从您允许的客户端访问。

回源服务

验证自己提供给CDN的授权URL,但是无法防止恶意用户直接访问你的回源服务。

自定义私有参数

在云厂商的请求中添加自定义key在请求参数或者Header中。

IP黑白名单

只允许云厂商的IP访问即可。

数据加密

1.回源服务返回为的文件时加密的,携带个keypairId参数

2.登录的用户才返回给他这个keypairid对应的key用于解密

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/167837.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C语言你爱我么?(ZZULIOJ 1205:你爱我么?)

题目描述 LCY买个n束花准备送给她暗恋的女生,但是他不知道这个女生是否喜欢他。这时候一个算命先生告诉他让他查花瓣数,第一个花瓣表示"爱",第二个花瓣表示"不爱",第三个花瓣表示"爱"..... 为了使最…

某60区块链安全之未初始化的存储指针实战二学习记录

系列文章目录 文章目录 系列文章目录未初始化的存储指针实战二实验目的实验环境实验工具实验原理实验内容实验过程EXP利用 未初始化的存储指针实战二 实验目的 学会使用python3的web3模块 学会分析以太坊智能合约未初始化的存储指针漏洞 找到合约漏洞进行分析并形成利用 实验…

Flink 常用物理分区算子(Physical Partitioning)

Flink 物理分区算子(Physical Partitioning) 在Flink中,常见的物理分区策略有:随机分配(Random)、轮询分配(Round-Robin)、重缩放(Rescale)和广播(Broadcast)。 接下来,我们通过源码和Demo分别了解每种物理分区算子的作用和区别。 (1) 随机…

win10安装pytorch(py39)

cuda≤11.6,观察控制面板 观察torch对应cuda版本 https://download.pytorch.org/whl/torch/ 安装cuda11.6.0 CUDA Toolkit Archive | NVIDIA Developer cmd输入nvcc -V 编辑国内镜像源 .condarc anaconda prompt输入 查看环境 conda env list 安装py3.9…

uniapp视频倍速播放插件,uniapp视频试看插件——sunny-video使用文档

sunny-video视频倍速播放器 组件名:sunny-video 效果图 img1img2img3img4 平台差异说明 目前已应用到APP(安卓、iOS)、微信(小程序、H5)其它平台未测试 安装方式 本组件符合easycom规范,HBuilderX 2.5…

点大商城V2.5.3分包小程序端+小程序上传提示限制分包制作教程

这几天很多播播资源会员反馈点大商城V2.5.3小程序端上传时提示大小超限,官方默认单个包都不能超过2M,总分包不能超20M。如下图提示超了93KB,如果出现超的不多情况下可采用手动删除一些images目录下不使用的图片,只要删除超过100KB…

鸿蒙4.0开发笔记之DevEco Studio如何使用低代码开发模板进行开发的详细流程(六)

鸿蒙低代码开发 一、什么是低代码二、如何进行鸿蒙低代码开发1、 创建低代码开发工程(方式壹)2、已有工程则创建Visual文件(方拾贰) 三、低代码开发界面介绍四、低代码实现页面跳转五、低代码开发建议 一、什么是低代码 所谓低代码…

基于 STM32F7 和神经网络的实时人脸特征提取与匹配算法实现

本文讨论了如何使用 STM32F7 和神经网络模型来实现实时人脸特征提取与匹配算法。首先介绍了 STM32F7 的硬件和软件特点,然后讨论了人脸特征提取和匹配算法的基本原理。接下来,我们将重点讨论如何在 STM32F7 上实现基于神经网络的人脸特征提取与匹配算法&…

微机原理_3

一、单项选择题(本大题共15小题,每小题3分,共45分。在每小题给出的四个备选项中,选出一个正确的答案,请将选定的答案填涂在答题纸的相应位置上。) 在 8086 微机系统中,完成对指令译码操作功能的部件是()。 A. EU B. BIU C. SRAM D. DRAM 使计算机执行某…

【机器学习】聚类(一):原型聚类:K-means聚类

文章目录 一、实验介绍1. 算法流程2. 算法解释3. 算法特点4. 应用场景5. 注意事项 二、实验环境1. 配置虚拟环境2. 库版本介绍 三、实验内容0. 导入必要的库1. Kmeans类a. 构造函数b. 闵可夫斯基距离c. 初始化簇心d. K-means聚类e. 聚类结果可视化 2. 辅助函数3. 主函数a. 命令…

数组题目: 665. 非递减数列、453. 最小移动次数使数组元素相等、283. 移动零、189. 旋转数组、396. 旋转函数

665. 非递减数列 题解&#xff1a; 题目要求一个非递减数列&#xff0c;我们可以考虑需要更改的情况&#xff1a; nums {4, 2, 5} 对于这个nums&#xff0c;由于2的出现导致非递减&#xff0c;更改的情况就是要么4调到<2&#xff0c;要么2调到4,5. nums {1, 4, 2, 5} …

人工智能-注意力机制之注意力汇聚:Nadaraya-Watson 核回归

查询&#xff08;自主提示&#xff09;和键&#xff08;非自主提示&#xff09;之间的交互形成了注意力汇聚&#xff1b; 注意力汇聚有选择地聚合了值&#xff08;感官输入&#xff09;以生成最终的输出。 本节将介绍注意力汇聚的更多细节&#xff0c; 以便从宏观上了解注意力机…

Lubuntu 23.10用户可使用LXQt 1.4桌面

导读在众多 Lubuntu 用户的要求下&#xff0c;Lubuntu 开发人员决定将 LXQt 1.4 桌面环境向后移植到最新的 Lubuntu 23.10 &#xff08;Mantic Minotaur&#xff09; 版本。 是的&#xff0c;您没看错&#xff0c;您现在可以使用官方的 Lubuntu Backports PPA&#xff08;个人软…

黑马点评笔记 分布式锁

文章目录 分布式锁基本原理和实现方式对比Redis分布式锁的实现核心思路实现分布式锁版本一Redis分布式锁误删情况说明解决Redis分布式锁误删问题分布式锁的原子性问题分布式锁-Redission分布式锁-redission可重入锁原理分布式锁-redission锁重试和WatchDog机制分布式锁-redissi…

01、Tensorflow实现二元手写数字识别

01、Tensorflow实现二元手写数字识别&#xff08;二分类问题&#xff09; 开始学习机器学习啦&#xff0c;已经把吴恩达的课全部刷完了&#xff0c;现在开始熟悉一下复现代码。对这个手写数字实部比较感兴趣&#xff0c;作为入门的素材非常合适。 基于Tensorflow 2.10.0 1、…

数据丢失预防措施包括什么

数据丢失预防措施是保护企业或个人重要数据的重要手段。以下是一些有效的预防措施&#xff1a; 可以通过域之盾软件来实现数据防丢失&#xff0c;具体的功能包括&#xff1a; https://www.yuzhidun.cn/https://www.yuzhidun.cn/ 1、备份数据 定期备份所有重要数据&#xff0…

unittest指南——不拼花哨,只拼实用

&#x1f4e2;专注于分享软件测试干货内容&#xff0c;欢迎点赞 &#x1f44d; 收藏 ⭐留言 &#x1f4dd; 如有错误敬请指正&#xff01;&#x1f4e2;交流讨论&#xff1a;欢迎加入我们一起学习&#xff01;&#x1f4e2;资源分享&#xff1a;耗时200小时精选的「软件测试」资…

代码随想录算法训练营第五十三天|1143.最长公共子序列 1035.不相交的线 53. 最大子序和

文档讲解&#xff1a;代码随想录 视频讲解&#xff1a;代码随想录B站账号 状态&#xff1a;看了视频题解和文章解析后做出来了 1143.最长公共子序列 class Solution:def longestCommonSubsequence(self, text1: str, text2: str) -> int:dp [[0] * (len(text2) 1) for _ i…

基于法医调查算法优化概率神经网络PNN的分类预测 - 附代码

基于法医调查算法优化概率神经网络PNN的分类预测 - 附代码 文章目录 基于法医调查算法优化概率神经网络PNN的分类预测 - 附代码1.PNN网络概述2.变压器故障诊街系统相关背景2.1 模型建立 3.基于法医调查优化的PNN网络5.测试结果6.参考文献7.Matlab代码 摘要&#xff1a;针对PNN神…

windows11上安装WSL

Windows电脑上要配置linux&#xff08;这里指ubuntu&#xff09;开发环境&#xff0c;主要有三种方式&#xff1a; 1&#xff09;在windows上装个虚拟机&#xff08;比如vmware&#xff09;。缺点是vmware加载ubuntu后系统会变慢很多&#xff0c;而且需要通过samba来实现window…