接口和前端页面是两个链接 后端接口 如何能够在任何情况下都获取到前端的url呢?

接口和前端页面是两个链接 后端接口 如何能够在任何情况下都获取到前端的url呢? 实际项目中是根据origin来获取的 但是很多用户请求过来 发现 header没有这个origin 但是又能看到refer带过来 通过refer来区分是不是会有问题的?有没有比较好点的方法?

讨论数量: 9

refer不行就只能自己带链接到后端api。你这种怎么感觉像手机的主题要根据手机壳颜色改变一样了

3周前 评论
test2018 (楼主) 3周前
deatil (作者) 3周前

refer应该没问题 我们也用refer判断的

3周前 评论

我们内部区分站点都是用标记参数比如web_name,因为接口有加密,不同站点的密钥不同,这个是必传项,因为涉及密钥,伪造可能性低,也能内部控制。

但是要是外部用或者说没必要这么复杂那就refer吧,我记得好像也有取不到的情况

3周前 评论
test2018 (楼主) 3周前

referer 应该可以吧,可以观察下日志是否所有请求都携带。接口用来做什么事呢,仅仅是区分站点显示不同页面,还是和业务有关呢,前者不涉及安全,怎么弄都行,其他方法,接口和前端如是同主域用 cookie 区分,不是同域在请求中统一加参数 appid 之类的。涉及安全的话就复杂了,referer 可以伪造肯定不行了,origin 好像不同浏览器支持度不同,没研究过。

3周前 评论

你都前后端分离了,为啥不大胆的设计接口规则,让前端多传几个头信息

  • X-Requested-From:'/path'
  • X-Requested-Device:'desktop'
  • X-Requested-Domain:'zn'
3周前 评论
test2018 (楼主) 3周前

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!