码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 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

    1. localhost中iframe引入百度,发现跨域。
    2. //旧的拦截监听器都是异步不支持阻塞修改请求,v3需要declarativeNetRequest拦截修改(测试可用)
    3. 1)mainfest.json中关键配置,2个节点。
    4. "permissions": [
    5. "declarativeNetRequest",
    6. "declarativeNetRequestWithHostAccess",
    7. "declarativeNetRequestFeedback"
    8. ],
    9. "declarative_net_request": {
    10. "rule_resources": [{
    11. "id": "1",
    12. "enabled": true,
    13. "path": "js/ruleset1.json"
    14. }]
    15. },
    16. 2) ruleset1.json 配置拦截和替换
    17. [
    18. {
    19. "id": 1,
    20. "priority": 1,
    21. "condition": {
    22. "urlFilter": "|http*",
    23. "resourceTypes": [
    24. "csp_report",
    25. "font",
    26. "image",
    27. "main_frame",
    28. "media",
    29. "object",
    30. "other",
    31. "ping",
    32. "script",
    33. "stylesheet",
    34. "sub_frame",
    35. "webbundle",
    36. "websocket",
    37. "webtransport",
    38. "xmlhttprequest"
    39. ]
    40. },
    41. "action": {
    42. "type": "modifyHeaders",
    43. "responseHeaders": [{
    44. "header": "Content-Security-Policy",
    45. "operation": "set",
    46. "value": ""
    47. }]
    48. }
    49. }
    50. ]
    51. //百度通过Content-Security-Policy(CSP)控制,这里直接置空就可以了。

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

    chrome插件英文mozilla文档:

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

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

  • 相关阅读:
    MySQL高级语句
    博客停更声明
    node笔记记录28aynsc和await之3
    110道 MySQL面试题及答案 (持续更新)
    大数据+大模型的尽头——数据分析师的未来会怎样?
    126. 单词接龙 II BFS
    http请求头中的Content-Type到底有什么用?
    Vue2与Vue3:深度剖析核心差异与升级亮点
    C语言 —— 函数栈帧的创建和销毁
    三篇学会MySQL数据库【查询详解】
  • 原文地址:https://blog.csdn.net/hvang1988/article/details/134266394
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号