隱私

以下服務會爲高敏感:

  • 聚合圖牀(國內網站,我無法直接管理)

以下服務會記錄您的 IP 地址(中敏感):

  • Google Analytics 流量分析
  • Hyvor Talk 評論(斯里蘭卡的公司)
  • 托管於 Netlify

還使用了如下腳本(低敏感):

  • Algolia 搜索(我無法管理)
  • InstantPage 快速加載(我無法管理)

安全

只要用 Netlify 託管,一般的 SSL 測試很容易得到 A+:

2022-01-05 測試,只有 A,不知道爲什麼,也沒具體得分。

webbkoll 測試有很多問題,便按照指引補了一下安全漏洞。

我託管於 Netlify,在根目錄下新建響應頭純文本文件,名爲 _headers

/*
Referrer-Policy:no-referrer
Strict-Transport-Security:max-age=31536000;includeSubDomains;preload
X-Frame-Options:DENY
X-Content-Type-Options:nosniff
X-XSS-Protection:1;mode=block
Content-Security-Policy: block-all-mixed-content

本來還加了 CSP,這樣就顯示通過測試:

Content-Security-Policy:default-src https:;base-uri 'none';object-src 'none';form-action cdn.jsdelivr.net open.saintic.com/isso/f8fn21/js/embed.min.js;img-src *;script-src 'unsafe-inline' cdn.jsdelivr.net googletagmanager.com google-analytics.com open.saintic.com/isso/f8fn21/js/embed.min.js;style-src cdn.jsdelivr.net 'self';frame-ancestors 'none' 

但搜索功能沒法工作,不想去硏究了,索性去掉。

合格的有:

不合格的:

CSP 和 SRI

CSP (Content Security Policy) 是一個白名單,告訴瀏覽器能加載哪些資源。

SRI (Subresource Integrity) 是一個核對清單,將遠程加載資源的 sha 値與你設置的進行對比,相同的就可以加載。

2022-01-05 向 Google 提交了 HSTS

_header 改成:

/*
Referrer-Policy: no-referrer
Strict-Transport-Security: max-age=31536000; includeSubDomains; preload
X-Content-Type-Options: nosniff
X-XSS-Protection: 0
Expect-CT: max-age=86400; enforce; report-uri '<url>'
Content-Security-Policy: frame-ancestors; block-all-mixed-content; base-uri 'self'; form-action 'self'; object-src 'none'
Feature-Policy: accelerometer 'none'; ambient-light-sensor 'none'; camera 'none'; gyroscope 'none'; magnetometer 'none'; microphone 'none'; payment 'none'; usb 'none'
Permissions-Policy: accelerometer=(); ambient-light-sensor=(); camera=(); gyroscope=(); magnetometer=(); microphone=(); payment=(); usb=()

SecurityHeaders 測試,得分 A+

參考資料

速度

  • 使用 InstantPage 腳本,實現站內預加載
  • 生成時使用 hugo --gc --minify,把 css、js 壓縮到最小
  • js 放在最後,使用延遲、異步加載
  • 無框架;無不必要的 js

PageSpeed Insights:電腦上全站各頁面平均 98。非常好。

環保

經過 測試,赫赫文王的碳排放比 74% 的網頁更少,每次點擊釋放 0.42g CO2。