> 백엔드 개발 > PHP 튜토리얼 > 微信开发 限制页面只能在微信中打开 如何实现?

微信开发 限制页面只能在微信中打开 如何实现?

WBOY
풀어 주다: 2016-06-06 20:44:33
원래의
1791명이 탐색했습니다.

最近在做微信开发,但是一直忽略了一个问题 如何限制页面只能在微信中打开?

在PHP脚本中 可以通过判断 HTTP_USER_AGENT 来判断浏览器是否为微信内置浏览器

但今天看布丁移动下的 微车 公众平台中 很多页面限制只能在微信中打开 但是判断方式应该不是通过在脚本中判断浏览器的头信息,现请问 微车 中限制页面只能在浏览器中打开的思路是什么 ?

回复内容:

最近在做微信开发,但是一直忽略了一个问题 如何限制页面只能在微信中打开?

在PHP脚本中 可以通过判断 HTTP_USER_AGENT 来判断浏览器是否为微信内置浏览器

但今天看布丁移动下的 微车 公众平台中 很多页面限制只能在微信中打开 但是判断方式应该不是通过在脚本中判断浏览器的头信息,现请问 微车 中限制页面只能在浏览器中打开的思路是什么 ?

微信里打开navigator.userAgent会有micromessenger

微车调用了微信的OAuth2.0授权

微信有很多内置JS内置API,通过判断这些API是否存在也是可以的吧。
http://www.baidufe.com/item/f07a3be0b23b4c9606bb.html

我现在做的项目,是微信公众号的,用户点击我们网站的时候,会去微信服务器获取用户openid,如果获取不到,就说明不是微信浏览器打开.这样用户只有在微信浏览器打开才可以进系统

上面基本都回答了

1、js或程序判断,userAgent,是否包含micromessenger

2、js判断微信相关特有函数

3、调用oauth接口,如果不想用户感知的,可以调用scope=snsapi_base的方式,这个最后只能获得用户openid。scope=snsapi_userinfo方式,用户会看到一个授权页面,点击授权后,可以获得用户所有信息。

前端的话最好不要通过 ua 来判断是否是微信内置浏览器,因为太容易伪造了。
这样来判断

<code>if( typeof WeixinJSBridge !== "undefined" ) {
  return true;
}</code>
로그인 후 복사

网页用微信打开必须要做微信oauth的网页授权吗?

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿