Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

追番页面给每个图片单独设置 referrerPolicy #295

Open
wants to merge 1 commit into
base: 3.x
Choose a base branch
from

Conversation

Lin515
Copy link

@Lin515 Lin515 commented Jun 21, 2022

page-bangumi.php 中设置了全局 referrer 规则:非同源请求不发送 referer <meta name="referrer" content="same-origin">
如果开启了 PJAX 局部刷新,从追番页面去到其它页面该规则也会被保留,这会导致后面的非同源请求也不发送 referer。
如果有非同源资源比如 CDN 禁止空 referer 请求,那么这部分资源就会无法访问。

page-bangumi.php中设置了全局referrer规则:不发送referer。如果开启了PJAX局部刷新,从追番页面去到其它页面该规则也会被保留,这会导致后面的请求也不发送referer。如果有资源比如CDN禁止空referer请求,那么这部分资源就会无法访问。
@mashirozx
Copy link
Owner

meta是不是应该放在head里面

@Lin515
Copy link
Author

Lin515 commented Jun 21, 2022

meta是不是应该放在head里面

没太懂意思,放在 head 里不就是全站生效了吗?
因为追番页面捕获到的番封面图只能空 referer 引用,而站里的其它资源可能又需要 referer,这样就会有冲突,所以修改成了给每个番封面图的 img 标签加上 referrerPolicy。

@mashirozx
Copy link
Owner

head里面可以条件判断是什么页面

@Lin515
Copy link
Author

Lin515 commented Jun 21, 2022

我有这样试着做一下,但实现了不同页面使用不同的 referer,单个 bangumi 页面下各资源也会有需要不同 referer 的时候。比如直接访问 bangumi 页面,因为没有缓存,站点许多静态资源都要获取,如果这些资源是在 CDN 上需要 referer 的,那页面就无法正常加载了。
直接给 img 标签单独设定 referrerPolicy 是感觉最简单直接的办法了。

此前 jsdelivr 失效,我就改成了用自己的 cdn,而且禁止了空 referer 访问,才发现了这个问题。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants