Skip to content

PageKey 允许填写 ”相对路径“ 或 ”完整URL“ #47

@qwqcode

Description

@qwqcode

填写完整链接能够更准确的定位到页面

@inkss 可是站点本身有地址呀,如果需要访问,利用站点设置里的 url 和页面的 url 拼接呗,可以做个判断如果地址包含了站点 url 的内容就不处理,反之拼接下。(是不是现在就是这样处理的?

感谢来自 @inkss 的建议,#44 (comment)

多站点功能是后来加入的,怎么实现更易用目前还在探索中,感谢您提出的建议,并期待更为深入的探讨。

如果站点只有一个域名的情况下,PageKey 不用填写完整 URL,后端可以根据这一个域名拼接字符串。也就是说,PageKey 是可以填写 “相对路径” 的。

(因为用到 PageKey 的地方有点多,之前时间不太充裕,直接填写完整 URL 作为 PageKey 不用拼接就可以摸鱼了,省去了不少代码,哈哈。我觉得这个可以有,拼接字符串这种方式将在下一版中加入,已经安排上了)

【站点 (Site) “本身就有的地址”】目前作用是:
1. “Referer 合法性检测”:后端判断来自前端的请求 Header Referer 是否合法(阻止其他域名下进行非法提交)
2. 后端设计支持:一个站点(项目)能有多个域名(多个 Site URL)(判断多个 Referer)
3. 如果不设置 Site URL,则任何域名都可以请求,没有 “Referer 合法性检测”
3. 依赖 PageKey 来生成邮件中的“回复”链接。(如果仅仅依靠 Site URL 来拼接字符串,如果有多个 Site URL,根据第一个 Site URL 拼接的链接是不准确的,不知道具体是哪一个网站)
4. 依赖 PageKey 后端读取页面数据,爬取页面 <title> 后端显示页面标题
5. 主要是为了多站点支持多域名,如果 PageKey 填写完整 URL,能够更加准确。

后端可以对原来包含域名的 PageKey 进行批量替换,因此 PageKey 完整URL换域名是不太繁琐的。

总结:

后续更新后端程序:

PageKey 不再强制要求填写完整 URL,可“相对路径“也可”完整URL“

  1. 若一个站点有多个域名,PageKey 如果填 “相对路径”,会根据 第一个域名 拼接字符串。如果填 “完整链接”,会根据这个链接来,这样就能够更准确。(一个站点有多个域名,PageKey 推荐填写完整URL,但不强制要求)

  2. 若一个站点只有单个域名,PageKey 填写 “相对路径”,就能够根据这个域名 拼接生成 URL,这样拼接的很灵活,后端也能直接换域名。

  3. 站点不允许 没有域名

  4. 添加单独的配置项:控制开启关闭 “Referer 合法性检测”。

Originally posted by @qwqcode in #44 (comment)

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions