gpt4 book ai didi

content-security-policy - 为什么在严格的 CSP 下 "script.text = ..."不被认为是不安全的?

转载 作者:行者123 更新时间:2023-12-01 03:13:44 24 4
gpt4 key购买 nike

根据 MDN 关于 script-src 的文档,以下内容被视为“不安全”并在严格的 CSP 下被阻止:

  • eval()
  • Function()
  • window.setTimeout("bad()", 0) 等方法中使用的字符串文字
  • window.execScript (仅限 IE < 11)

  • 但是为什么以下内容不是此列表的一部分?它与 eval(badCode) 有何不同? ?
    var script = document.createElement('script');
    script.text = badCode;
    document.head.appendChild(script);

    最佳答案

    使用 script-src将阻止内联脚本执行,因此设置脚本文本或 textContent 将不起作用。要检查它,请加载一个带有以下元标记的 html 文件:

        <meta http-equiv="Content-Security-Policy" content="script-src 'self'">

    并尝试再次执行您的代码。

    资料来源:

    https://developer.chrome.com/extensions/contentSecurityPolicy#JSExecution
    https://developers.google.com/web/fundamentals/security/csp/?hl=en

    关于content-security-policy - 为什么在严格的 CSP 下 "script.text = ..."不被认为是不安全的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50297939/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com