图片refer隐藏

以CSDN为例,如果从别的站点引入用户头像可能会报403错误,但是直接访问却可以正确显示,可以很容易发现是由于CSDN服务端判断了refer字段

403 Forbidden
You don't have permission to access the URL on this server.

Powered by Tengine

使用referrerPolicy

经过查询发现可以使用referrerPolicy字段设置不显示refer1,如<img src="xxx" referrerPolicy="no-referrer" />
当然,还有更多的办法2,但是由于只是为了显示友链的图片,就不涉及了

React with TypeScript

React中已经可以在img标签里配置referrerPolicy字段,但是其@types/react中只有iframeanchor中存在该字段,因此如果在img中如果直接使用该字段会报错

为了解决该问题,已经提交了一个PR:[@types/react] Add referrerPolicy to img attrs in React,看样子应该会在一段时间后合并成功
如果急着使用该功能,可以使用<img src="xxx" {...{ referrerPolicy: 'no-referrer' }} />来临时解决

参考资料


  1. 掘金-如何绕开referrer防盗链 ↩︎

  2. 阮一峰的网络日志-HTTP Referer 教程 ↩︎