下面的url摘自微信文档
https://open.weixin.qq.com/connect/oauth2/authorize?appid=wx520c15f417810387&redirect_uri=https%3A%2F%2Fchong.qq.com&response_type=code&scope=snsapi_base&state=123#wechat_redirect
请问,微信后台是怎么根据这样一段url判断浏览器是否是微信浏览器呢?
理论上客户端可以伪造任何http请求啊
难道http请求中包含了微信客户端软件的证明?
最简单的方案就是利用 http request header 里的 User-Agent,它是端的一个标识,微信的 ua 里包含 MicroMessenger 这么一个字符串,可以用正则做匹配
其次,确实可以伪造,但是这里的提示更重要的是提示那些正常的用户,你的链接应该在微信内打开才能正常使用,如果你是伪造的,后续的流程因为不是在微信内所以也无法走通,也没有任何影响