使用 Apache HTTP Server 的内容安全策略 scipt-src sha 功能
Use Content Security Policy scipt-src sha feature with Apache HTTP Server
我使用的是 Apache 2.4,我正在尝试实施内容安全策略。
我在 httpd.conf
中设置了以下 header
Header set Content-Security-Policy "default 'none'; script-src 'self'"
现在,我在 html 内使用 script 标记内联 javascript 代码,如
<script>alert('Do something here')</script>
请注意,脚本标签包含有意义的 JS 代码,而不是我为示例目的而放置的警报内容。
现在,内容安全策略会阻止此类内联脚本。将这些列入白名单的一种方法是为上述脚本计算 SHA 哈希,并将其显式传递给 header 作为
Header set Content-Security-Policy "default 'none'; script-src 'self' sha256-dhfds73748=="
这允许脚本 运行。
现在我可以在构建时使用 g运行t 为这些类型的脚本生成 SHA。
但是我是否必须在 Apache httpd.conf 中手动设置这些脚本,因为我更改了这些脚本,然后手动重启了我的 Apache HTTP 服务器?
我可以在 Apache 配置中 运行 时间设置这个值吗?
请注意,我不想将此类代码移动到单独的 js 文件中
然后通过 <script src="path/to/my/file.js"></script>
调用它,除非这是唯一可能的方法。
这是用于静态 html 还是网络应用程序?如果它是一个 Web 应用程序,那么动态策略就相当容易了。它是一个使用某种模板(例如 Jekyll)的静态站点,您可以使用 csp 元标记轻松更新策略。
如果以上都不是真的,我将不得不服从那些具有特定 Apache 经验的人。我认为在许多静态页面上管理元标记不是一个好方法。
我使用的是 Apache 2.4,我正在尝试实施内容安全策略。 我在 httpd.conf
中设置了以下 headerHeader set Content-Security-Policy "default 'none'; script-src 'self'"
现在,我在 html 内使用 script 标记内联 javascript 代码,如
<script>alert('Do something here')</script>
请注意,脚本标签包含有意义的 JS 代码,而不是我为示例目的而放置的警报内容。
现在,内容安全策略会阻止此类内联脚本。将这些列入白名单的一种方法是为上述脚本计算 SHA 哈希,并将其显式传递给 header 作为
Header set Content-Security-Policy "default 'none'; script-src 'self' sha256-dhfds73748=="
这允许脚本 运行。
现在我可以在构建时使用 g运行t 为这些类型的脚本生成 SHA。
但是我是否必须在 Apache httpd.conf 中手动设置这些脚本,因为我更改了这些脚本,然后手动重启了我的 Apache HTTP 服务器?
我可以在 Apache 配置中 运行 时间设置这个值吗?
请注意,我不想将此类代码移动到单独的 js 文件中
然后通过 <script src="path/to/my/file.js"></script>
调用它,除非这是唯一可能的方法。
这是用于静态 html 还是网络应用程序?如果它是一个 Web 应用程序,那么动态策略就相当容易了。它是一个使用某种模板(例如 Jekyll)的静态站点,您可以使用 csp 元标记轻松更新策略。
如果以上都不是真的,我将不得不服从那些具有特定 Apache 经验的人。我认为在许多静态页面上管理元标记不是一个好方法。