跳到主要内容
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 头部

要点与分析由自动化流程生成,可能有误,请结合原始来源核实。