AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 675623
Accepted
Tom Brossman
Tom Brossman
Asked: 2015-03-16 03:14:25 +0800 CST2015-03-16 03:14:25 +0800 CST 2015-03-16 03:14:25 +0800 CST

设置内容安全策略是否与 Joomla 的管理页面不兼容?

  • 772

我想为在 Apache 2.4 上运行的 Joomla 网站设置内容安全策略标头。

使用h5bp 中的此配置和设置Header set Content-Security-Policy "script-src 'self'; object-src 'self'"为我在 www.example.com/administrator/ 上的 Joomla 登录页面提供了一个空白页面。我怎样才能使用此策略并仍然登录?

检查控制台,错误信息是:

内容安全策略:页面的设置阻止了自身资源的加载(“script-src http://www.example.com ”)。

管理员页面完全来自 example.com,没有第三方内容。除了设置了策略的登录页面上的空白页面外,该站点运行良好。检查 /administrator 页面源,除了没有运行 JS 之外,它看起来很普通。完整页面源代码的副本在此处。

因为我已将 example.com 列入白名单,其中包含“script-src 'self'; object-src 'self'”,所以我希望页面会呈现,但我显然遗漏了一些东西。

我现在用一个新的 VPS 重新测试了这个,并且干净地安装了 Joomla,没有自定义。设置内容安全策略并重新启动 Apache 会立即重现该问题 - 完全空白的管理页面,伴随着浏览器中的控制台错误,抱怨该策略阻止了资源的加载。更改"script-src 'self'为"script-src 'example.com'或"script-src 'IP:AD:DR:ESS'无济于事,所有脚本都被阻止,句号。

知道如何使其正常工作或进一步排除故障吗?

security
  • 1 1 个回答
  • 2492 Views

1 个回答

  • Voted
  1. Best Answer
    rbhitchcock
    2015-05-29T10:25:35+08:002015-05-29T10:25:35+08:00

    查看源代码后,似乎错误消息是错误的和误导性的。导致您的问题的原因似乎是有几个内联 JavaScript 元素。换句话说,您定义的策略允许这样的内容:

    <script src="/media/myjsfile.js"></script>
    

    但不是这样:

    <script>function myJsFunction()</script>
    

    为了允许内联 JavaScript(不推荐,因为这违背了使用 CSP 的目的),您需要将您的策略​​修改为:

    script-src 'self' 'unsafe-inline'
    

    或者,您可以重构代码以不使用内联 JS,或利用nonce 属性。请记住,当前并非所有浏览器都支持 nonce 属性(它是内容安全策略最新规范的一部分)。据我所知,它目前仅在 Chrome 中受支持。

    • 3

相关问题

  • OpenSSH 漏洞 [重复]

  • 选择什么安全套件?

  • 安全地授予对 SQL 2005 复制监视器的访问权限以创建快照

  • SSH 服务器零日漏洞利用 - 保护自己的建议

  • 如何将安全组添加到正在运行的 EC2 实例?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve