最近使用Firefox 访问简书时发现,简书页面中的图片均无法显示(事发时是在2024年六月份)。
通过查看Firefox“开发者工具”(“工具”-> "浏览器工具"->"web开发者工具")的Console和Network发现很多403错误,这些错误均是在访问jianshu.io时出现(从jianshu.com跳转到jianshu.io):
Referrer 策略:针对跨站请求,忽略对其限制较宽松的 referrer 策略 - “unsafe-url”:https://upload.jianshu.io/users/upload_avatars/2740477/76c01322-fb13-45da-9773-57ab1b2ee4cd.png?imageMogr2/auto-orient/strip|imageView2/1/w/90/h/90/format/webp
一开始怀疑 Referer和Referer Policy设置有误,但是通过"about:config"尝试把network.http.referer.defaultPolicy 修改了很多次,均不好使。
这个链接中给出了答案:https://www.landiannews.com/archives/104255.html
内容发布平台简书因为某些未知原因屏蔽开源的火狐浏览器,只要浏览器 UA 信息里携带 Firefox 那么就会直接返回 HTTP 403 禁止访问。
蓝点网测试后发现简书的某些资源站点确实存在屏蔽火狐浏览器 UA 的情况,例如简书用来托管网站图片和其他资源的 *.jianshu.io 就可以复现情况。
验证:只要user-agent 包含firefox字样就会403错误:
$ curl -A "firefoxtest" -sIL -w "%{http_code}\n" -o /dev/null https://upload-images.jianshu.io/upload_images/1791542-269c1227b38f38b9.png
403