跳到主要內容
AI News HubLIVE
站內改寫1 分鐘閱讀

datasette-referrer-policy 0.1 釋出

文章摘要

Datasette 的全球發電廠演示頁面中 OpenStreetMap 瓦片顯示異常,原因是 CAPTCHA 攔截了地圖外掛的 JSON 請求以及預設的 Referrer-Policy: no-referrer 頭部導致 OpenStreetMap 拒絕服務。作者透過修復 CAPTCHA 邏輯並藉助 Codex 和 GPT-5.5 開發了新外掛 datasette-referrer-policy,允許使用者自定義 Referrer-Policy 頭部。

datasette-referrer-policy 0.1 釋出
回報錯誤

更正管道尚未開通,可先複製下方文章資訊留存。

查看更正說明
直接讀正文

2026年5月5日,Simon Willison 釋出了 Datasette 生態的新外掛 datasette-referrer-policy 0.1,用於解決其全球發電廠演示頁面中 OpenStreetMap 瓦片無法正常顯示的問題。經過排查,發現該問題由兩個獨立的 bug 引起。

第一個 bug 與幾周前新增的 CAPTCHA 驗證有關。該驗證使用 Cloudflare Turnstile 服務,本意是防止爬蟲,但卻錯誤地攔截了地圖外掛發出的 .json 請求。由於這些請求不是 HTML 格式,使用者不會收到驗證提示,導致請求被靜默丟棄。作者已經提交修復,確保 CAPTCHA 只對 HTML 請求觸發。

第二個 bug 更為隱蔽。OpenStreetMap 明確拒絕來自設定 Referrer-Policy: no-referrer 頭的站點的塊請求,而 Datasette 預設使用 no-referrer 策略以增強隱私。為了不破壞現有使用者的配置,作者沒有修改 Datasette 的預設行為,而是利用 AI 工具 Codex 和 GPT-5.5 輔助編寫了一個新外掛。該外掛允許管理員將 Referrer-Policy 設定為其他值,如 strict-origin-when-cross-origin,從而相容 OpenStreetMap 的要求。

datasette-referrer-policy 0.1 是首個版本,提供了簡單的配置介面,使用者可以在 datasette.yml 中設定 referrer_policy 引數。作者強調,雖然程式碼由 AI 生成,但經過人工審查和測試,確保安全可靠。該外掛的釋出不僅解決了特定問題,也為 Datasette 使用者提供了更靈活的 HTTP 標頭控制能力。未來,作者計劃繼續最佳化外掛,並考慮將其功能整合到 Datasette 核心。

展開要點與分析

文章情報

工程師進階

要點

  • OpenStreetMap 瓦片在 Datasette 演示中因兩個 bug 無法正常顯示
  • CAPTCHA 誤攔截了地圖外掛的 JSON 請求,已修復
  • Datasette 預設的 no-referrer 頭部被 OpenStreetMap 遮蔽
  • 新外掛 datasette-referrer-policy 0.1 可設定 Referrer-Policy 頭部

要點與分析由自動化流程生成,可能有誤,請結合原始來源核實。