openUrl 浏览器安全策略会在请求头中添加 referer 导致第三方服务拦截原创
金蝶云社区-周立思
周立思
2人赞赏了该文章 883次浏览 未经作者许可,禁止转载编辑于2022年11月22日 18:47:16

一、需求

社区提问:新建标签页跳转第三方网页会提示非法请求,停止响应

https://developer.kingdee.com/questions/382845313549782016/answers/382902781017245184?productLineId=29


二、思路

看到问题后,根据自己之前遇到这种情况,判断 openUrl 浏览器安全策略会在请求头中添加referer以显示来源地址,目标服务拒绝导致的。

首选查资料看平台 openUrl 是否支持设置 no-referrer ,经过测试未找到设置的地方。

然后尝试用加载第三方js方式,修改 <meta name="referrer" content="no-referrer" />

image.png

三、实现过程

编写第三方js代码:

image.png

编写测试代码:

image.png

浏览器F12 看到请求头已经没有 referer 了

image.png

通过和提问者沟通,反馈没有生效。通过沟通排错,再次尝试发现测试代码加载js那段调整位置即可,改到了 afterBindData() 中。测试成功,解决那段测试代码出现的首次移除referer未生效情况。


四、效果图

image.png

五、开发环境版本

苍穹 5.0


六、注意事项



七、参考资料 

Remove http Referer 

https://stackoverflow.com/questions/6817595/remove-http-referer



我在社区也提问 openUrl 如何移除 referer ,看看平台老师是否有其他方法处理

https://developer.kingdee.com/questions/382930613109516032/answers/382931916984619264?productLineId=29

赞 2