【JS】跨域和安全传输问题 - 霜冷的秘密基地

【JS】跨域和安全传输问题

日常琐碎 0 评

[CORS]Cross-origin resource sharing

  • 说明:在不同的域之间进行数据传输或通信,只要协议、域名、端口有任何一个不同,都被当作是不同的域。
  • CORS:CORS(Cross-Origin Resource Sharing)跨域资源共享,定义了必须在访问跨域资源时,浏览器与服务器应该如何沟通。CORS背后的基本思想就是使用自定义的HTTP头部让浏览器与服务器进行沟通,从而决定请求或响应是应该成功还是失败。

/*
@state: 油猴GM_xmlhttpRequest函数请求资源[CORS]
@para:  [serverUrl:https://smilesl.top/uploads/video/Gura.mp4]
@status:禁用
*/
GM_xmlhttpRequest({
    method: "GET",
    url: 'https://smilesl.top/uploads/video/Gura.mp4',
    //headers: { "Content-Type": "application/x-www-form-urlencoded" },
onload: function(r) {
    console.log(r);
    video.setAttribute("src", "https://smilesl.top/uploads/video/Gura.mp4");
}
});

[CSP]Content Security Policy

  • 说明:由于服务器设置了http-equiv="Content-Security-Policy",设置全局资源访问白名单,导致了资源不被加载
  • CSP:Content Security Policy,安全传输协议
/*
@state: jsdelivr cdn静态转存github资源,在GitHub上托管Gura.txt[注:mp4 file][CSP]
@para:  [jsdelivr cdn静态转存github资源Url:https://cdn.jsdelivr.net/gh/smileyixi/smilehub@master/Gura.txt]
@status:启用
*/
video.setAttribute("src", "https://cdn.jsdelivr.net/gh/smileyixi/smilehub@master/Gura.txt");
AndroidStudio - 学习笔记(JetPack) Day 6
快来做第一个评论的人吧~
0:00