美文网首页
关于防盗链与跨域访问

关于防盗链与跨域访问

作者: LibX | 来源:发表于2017-06-29 09:48 被阅读0次

关于防盗链与跨域访问

最近用阿里云的时候发现一些防盗链与跨域访问的一些坑,填完坑之后稍微整理一下。

防盗链

防盗链是利用浏览器Http请求头Referer,告诉服务器谁访问资源,由服务器作判断,如果符合一定规则则返回数据,否则返回403。

Flash player跨域访问

Flash player访问指定资源之前,访问根URL下的crossdomain.xml,例如访问资源http://test.com/path/to/a.m3u8之前会访问http://test.com/crossdomain.xml,由Flash player解析并判断是否可以进行跨域访问。

crossdomain.xml的范例

<?xml version="1.0"?>   
<!DOCTYPE cross-domain-policy SYSTEM "http://www.adobe.com/xml/dtds/cross-domain-policy.dtd">
<cross-domain-policy>
    <site-control permitted-cross-domain-policies="master-only"/>
    <allow-access-from domain="*.yy.com"/>
    <allow-access-from domain="*.yypm.com"/>
    <allow-access-from domain="*"/>
    <allow-http-request-headers-from domain="*.yy.com" headers="SOAPAction"/>
</cross-domain-policy>

浏览器跨域访问

具体参照http://www.ruanyifeng.com/blog/2016/04/cors.html

Flash player与OSS的跨域访问

如果需要Flash player跨域访问OSS里面的视频资源,需要设置:

  1. 编写crossdomain.xml,放在bucket的根目录下
  2. 将域名添加到防盗链配置中(如果防盗链配置为空,则忽略)
  3. 将域名规则添加到跨域(Cors)配置规则中(如果规则列表为空,则忽略)

OSS与CDN的防盗链

OSS和CDN的防盗链配置是分离的。配置可以分为下面几种情况:

  1. 只配置OSS
    安全性一般,可能会通过CDN的域名扫描到资源,而且会因CDN的缓存配置导致有时候200有时候403的情况。
  2. 只配置CDN
    安全性一般,可能会通过OSS的域名扫描到资源。
  3. OSS和CDN都配置但不保持一致
    很容易混乱,出问题很难查,不建议
  4. OSS和CDN都配置并且保持一致
    这是最安全的做法,但保持一致成本较高

总的来说,1和2的安全性是一致的,所以如果安全性不高选择2,安全性高则选择4。

OSS与CDN的跨域配置

OSS和CDN的跨域配置是分离的。配置可以分为下面几种情况:

  1. 只配置OSS
    安全性一般,可能会通过CDN的域名扫描到资源,而且这样做会因CDN的缓存配置导致有时候200有时候403的情况。
  2. 只配置CDN
    安全性一般,可能会通过OSS的域名扫描到资源。
  3. OSS和CDN都配置但不保持一致
    很容易混乱,出问题很难查,不建议
  4. OSS和CDN都配置并且保持一致
    这是最安全的做法,但保持一致成本较高

总的来说,1和2的安全性是一致的,所以如果安全性不高选择2,安全性高则选择4。

相关文章

  • 关于防盗链与跨域访问

    关于防盗链与跨域访问 最近用阿里云的时候发现一些防盗链与跨域访问的一些坑,填完坑之后稍微整理一下。 防盗链 防盗链...

  • window.URL 与 跨域

    跨域 关于跨域问题,简单来说就是通过地址访问资源时,所用的协议不同导致无法访问目标。 网上已经有很多关于跨域的主流...

  • 【nginx】高级用法配置及讲解

    一、高级功能 1、nginx跨域 在http { server { ...} } 中添加 2、nginx防盗链 ...

  • SpringMVC 进行ajax跨域请求访问

    关于 springmvc 3.x 版本对ajax跨域请求访问 ajax 请求后,浏览器出现跨域的问题那么在当前环境...

  • 跨域

    什么是跨域访问 跨域访问,简单来说就是 A 网站的 javascript 代码试图访问 C网站,包括提交内容和获取...

  • 跨域

    参考资料 HTTP访问控制(CORS)跨域解决方案跨域详解

  • C# Web直接上传视频或者文件到OSS

    代码 解决本地调试跨域问题 设置跨域规则:找到OSS存储——Bucket列表——基础设置——跨域访问——设置 暴露...

  • Android WebView高风险问题解决

    A.WebView跨域访问漏洞: 在Android应用中,WebView开启了file域访问,允许file域访问h...

  • spring boot 配置跨域问题

    跨域 配置静态文件访问

  • 使用CORS解决跨域问题

    1.跨域问题 1.1 什么是跨域 跨域是指跨域名的访问,以下情况都属于跨域: 如果域名和端口都相同,但是请求路径不...

网友评论

      本文标题:关于防盗链与跨域访问

      本文链接:https://www.haomeiwen.com/subject/rmylqxtx.html