【发布时间】:2016-08-04 20:17:36
【问题描述】:
我正在使用 Apache 2.4,并且正在尝试实施内容安全策略。 我在 httpd.conf
中设置了以下标头Header set Content-Security-Policy "default 'none'; script-src 'self'"
现在,我在 html 中使用 script 标记嵌入了 JavaScript 代码,如
<script>alert('Do something here')</script>
请注意,脚本标签包含有意义的 JS 代码,而不是我为示例目的而放置的警告内容。
现在,内容安全策略会阻止此类内联脚本。将这些列入白名单的一种方法是为上述脚本计算 SHA 哈希并将其显式传递到标头中
Header set Content-Security-Policy "default 'none'; script-src 'self' sha256-dhfds73748=="
这允许脚本运行。
现在我可以在构建时使用 grunt 为这些类型的脚本生成 SHA。
但是当我对这些脚本进行更改然后手动重新启动我的 Apache HTTP 服务器时,我是否必须在 Apache httpd.conf 中手动设置这些?
我可以在运行时在 Apache 配置中设置这个值吗?
请注意,我不想将此类代码移动到单独的 js 文件中
然后通过<script src="path/to/my/file.js"></script> 调用它,除非这是唯一可能的方法。
【问题讨论】:
标签: javascript apache http-headers content-security-policy