[halo-dev/halo]期望开放Console全局代码注入

2024-04-09 468 views
0
Your current Halo version

2.5.2

Describe this feature 发生背景

我开发了一款插件《 plugin-giteeoss 》,满足用户使用 Gitee 仓库做附件存储,但是由于 Gitee 现在对资源做了防盗链处理,目前并未向 Gitee 用户开放Refer白名单,插件用户想要引用 Gitee 资源外链时要么指定 Refergitee.com 相关域名、要么设置Refer为空才能保证资源不会被重定向到其他资源上。

解决思路

要解决 gitee 的防盗链问题,目前有以下方式:

  1. 用户自行配置nginx
  2. 引用图片资源外链时,添加 referrerpolicy="no-referrer"
  3. 全局请求去掉Refer:比如在HTML的head中添加: <meta name="referrer" content="no-referrer">
期望功能

所以,基于方式3,期望halo官方能够支持 console 全局代码注入或者能开放接口来实现 console 端代码注入

Additional information

image

image

image

回答

5

Hi @MartyAlien,我刚刚尝试了一下直接在 console/index.ts 中添加插入 head 标签的代码,似乎是可行的。

image image

但我不确定这是否会带来安全性问题。

4

hi @ruibaby : 这个标签通常用于保护用户隐私,防止其他网站通过检查 Referer 头部获取用户访问的信息。但需要注意的是,这并不能提供绝对的安全性,因为某些浏览器可能不支持该标签或者可以被绕过。此外,使用 no-referrer 可能会对某些功能依赖 Referer 信息的网站或应用程序产生影响。

综上所述, 标签的使用通常不会引起安全问题,但在特定的情况下需要仔细考虑其影响,并在安全性和功能性之间做出权衡。