当前位置: 首页 > news >正文

chrome v3开发插件实现所有网站允许跨域

场景:

chrome 插件 升级到v3后,原来修改请求响应都变成异步,即无法同步拦截来修改请求响应。

在v3中也不支持修改请求响应内容。

问题:如何在chrome v3中允许其他网站跨域呢。

方式一:禁用chrome跨域,禁用prefight 。自行百度

方式二:通过chrome插件,可以移除或修改header来处理

本文采用方式二:

参考资料:

CORS 跨域 access-control-allow-headers 的问题-CSDN博客

通过该流程图可以看到 满足某些条件会触发preflight,从而需要option请求

更多资料倾情奉献:

基本看懂CORS的资料:

CORS 跨域 access-control-allow-headers 的问题-CSDN博客 (CROS流程图)

https://www.cnblogs.com/zhumengke/articles/11715656.html

官网:enable cross-origin resource sharing

官网(顺带讲解http参数)Fetch Standard

详细了跨域流程后,我们可以移除跨域相关属性,或者修改相关属性就可以了。

举例:百度跨域

declarativeNetRequest实现跨域: declarativeNetRequest - Mozilla | MDN

localhost中iframe引入百度,发现跨域。
//旧的拦截监听器都是异步不支持阻塞修改请求,v3需要declarativeNetRequest拦截修改(测试可用)1)mainfest.json中关键配置,2个节点。"permissions": ["declarativeNetRequest","declarativeNetRequestWithHostAccess","declarativeNetRequestFeedback"],"declarative_net_request": {"rule_resources": [{"id": "1","enabled": true,"path": "js/ruleset1.json"}]},
2)  ruleset1.json 配置拦截和替换
[{"id": 1,"priority": 1,"condition": {"urlFilter": "|http*","resourceTypes": ["csp_report","font","image","main_frame","media","object","other","ping","script","stylesheet","sub_frame","webbundle","websocket","webtransport","xmlhttprequest"]},"action": {"type": "modifyHeaders","responseHeaders": [{"header": "Content-Security-Policy","operation": "set","value": ""}]}}
]
//百度通过Content-Security-Policy(CSP)控制,这里直接置空就可以了。

阅读本文建议首先了解跨域和chrome插件开发知识

chrome插件英文mozilla文档:

有时间再详细说吧,上述提供的内容,已经能实现标题所述。

当然想了解更多诸如跨域、广告拦截等可以分析adblock源码

http://www.lryc.cn/news/223012.html

相关文章:

  • unity Holoens2开发,使用Vuforia识别实体或图片 触发交互
  • 从零开始搭建微服务(一)
  • 一种可以实现安全便捷文件摆渡的跨网文件安全交换软件
  • 『 MySQL数据库 』数据库基础之表的基本操作
  • 如何提高40%的Docker构建时间
  • 真正解决jellyfin硬解码转码
  • 声音训练数据集哪里找?中文、英文
  • springboot中如何同时操作同一功能
  • YOLOWeeds: 用于棉花生产系统中多类杂草检测的 YOLO 目标检测器的新基准
  • Vue3:自定义图标选择器(包含 SVG 图标封装)
  • NIO讲解
  • react中jest配置,解决node_modules报错esm无法解析的问题
  • Qt6,使用 UI 界面完成命令执行自动化的设计
  • Apache Maven;会话技术
  • Azure - 机器学习:使用自动化机器学习训练计算机视觉模型的数据架构
  • 【C++】stack | queue | priority_queue | deque
  • 华为gre带验证key案例
  • Java算法(三): 判断两个数组是否为相等 → (要求:长度、顺序、元素)相等
  • 基于STM32的设计智慧超市管理系统(带收银系统+物联网环境监测)
  • 深入浅出理解ResNet网络模型+PyTorch实现
  • 【C++】万字一文全解【继承】及其特性__[剖析底层化繁为简](20)
  • 微信小程序之自定义组件开发
  • MCU系统的调试技巧
  • 【机器学习基础】机器学习概述
  • Python Selenium 执行 JavaScript
  • HTML的表单标签和无语义标签的讲解
  • 8.spark自适应查询-AQE之自适应调整Shuffle分区数量
  • 【Java 进阶篇】Java Filter 快速入门
  • Pytorch R-CNN目标检测-汽车car
  • 【PG】PostgreSQL13主从流复制部署(详细可用)