You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何禁用Safari浏览器的CSP(内容安全策略)检查?

我明白Safari严格的CSP限制确实会让很多用户脚本和扩展没法正常工作,尤其是在GitHub这类平台上遇到的脚本执行错误,确实挺头疼的。下面分享几个可行的方法来禁用或绕过Safari的CSP检查:

方法一:通过Safari开发者选项临时禁用(适合单次调试)

这是最快捷的临时解决方案,适合偶尔调试用户脚本的时候用:

  • 先开启Safari的开发者菜单:打开「偏好设置」→ 切换到「高级」标签 → 勾选底部的“在菜单栏中显示开发菜单”
  • 打开目标网页(比如GitHub的页面)后,点击顶部菜单栏的「开发」→ 选择「停用内容安全策略」
  • 划重点:这个设置是临时生效的,关闭当前标签页或者重启Safari后就会恢复默认的安全策略,不会影响其他会话
方法二:用命令行启动Safari,全局禁用CSP(适合长期需要的场景)

如果需要每次打开Safari都自动跳过CSP检查,可以通过终端命令启动一个独立的Safari实例:

  • 打开「终端」应用,输入以下命令并回车:
    open -a Safari --args --disable-web-security --user-data-dir="/tmp/safari-dev-profile"
  • 这个命令会创建一个临时的用户数据目录,启动一个禁用了网页安全限制(包括CSP)的Safari窗口
  • 注意:这个临时实例不会同步你平时的书签、密码等个人数据,用完后可以手动删除/tmp/safari-dev-profile目录清理痕迹
方法三:借助用户脚本扩展针对性绕过(更安全的灵活方案)

不想全局降低安全等级的话,可以用用户脚本工具针对特定网站(比如GitHub)单独修改CSP:

  • 先安装Safari版的Tampermonkey扩展,然后创建一个新的用户脚本
  • 把下面的代码粘贴进去,保存后就能自动处理GitHub的CSP限制:
    // ==UserScript==
    // @name         Bypass GitHub CSP
    // @match        https://github.com/*
    // @grant        none
    // ==/UserScript==
    
    (function() {
        'use strict';
        // 移除页面中的CSP meta标签
        const cspMetaTags = document.querySelectorAll('meta[http-equiv="Content-Security-Policy"], meta[content^="content-security-policy"]');
        cspMetaTags.forEach(tag => tag.remove());
    })();
    
  • 这种方式只会对匹配的网站生效,其他网站的CSP保护依然正常,安全性更高

温馨提示:CSP是浏览器用来防范XSS等恶意攻击的核心机制,禁用或绕过它会增加浏览器被攻击的风险,建议只在你完全信任的网站或者调试场景下使用这些方法哦。

内容的提问来源于stack exchange,提问作者iLeoDo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.26 09:53:41