跳到主要內容
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 頭部

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