如何解决如何为 Hugo 站点添加自定义 http 标头
我正在通过 Github 页面部署 Hugo 站点,但我想添加自定义 HTTP 标头,例如 X-Frame-Options、X-XSS-protections。但是,我尝试按照他们网站的说明将以下代码添加到我的 config.yaml 文件中。但它不起作用。该站点仍然存在标题漏洞。有人可以在这方面帮助我吗。
headers:
- for: /**.html
values:
Content-Security-Policy: connect-src api.github.com; font-src cdnjs.cloudflare.com fonts.googleapis.com; img-src 'self' www.countryflags.io; script-src-elem 'unsafe-inline' cdnjs.cloudflare.com 'self'; style-src-attr 'unsafe-inline'; style-src-elem 'self' 'unsafe-inline' cdnjs.cloudflare.com fonts.googleapis.com
Referrer-Policy: strict-origin-when-cross-origin
X-Content-Type-Options: nosniff
X-Frame-Options: DENY
Strict-Transport-Security = max-age=2592000
X-XSS-Protection: 1; mode=block
解决方法
我遇到了类似的问题——我想根据前面的变量在标头中加载一些特定的文件。
对我来说,问题是通过如下调整页眉和页首内容来解决的。
HTML 布局标题
在标题的布局文件中(例如,hugo > themes > your_very_unique_theme > layouts > header.html),我添加了这行代码:
<!-- Additional Header -->
{{ with .Params.header }}
<link rel="stylesheet" href="{{ .some_extra_file }}">
<script src="{{ .another_extra_file }}"></script>
{{ end }}
页面正面
然后,在页面的最前面,我写了这个:
---
title: test page
[...]
header:
some_extra_file: "some.css"
another_extra_file: "extra.js"
---
结果
如果您设置这些参数(some_extra_file 和 another_extra_file),您渲染的 html 将如下所示:
[...]
<link href="some.css">
<link href="extra.js">
如果不设置这两个参数,html就会为空。
我从 Hugo Discours 的这个帮助线程中获取了 golang 模板代码:https://discourse.gohugo.io/t/empty-tags-on-param-isset-and-not-empty/4187。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。