Javascript网页只能限制在微信内置的浏览器访问

所以问题是,第一个涉及移动Web前端开发,我选择HTML5 +引导相结合,实现前台页面的美观效果,解决了Javascript的其他任务(我在这里完全使用本地Javascript代码,没有任何框架,使用考虑页面的加载速度手机慢,但比框架功能少了很多将加载,消耗用户流量)。

毕竟,功能到位,客户想得到满意的审判,然后我提交代码到正式服务器。但是,对方突然提到了一点:你做网页真的很漂亮,兼容性好,但此网页与电脑上的浏览器可以访问,那么其他人可以方便地查看网页源代码,然后复制整个页面,有什么方法可以避免这一点呢那么问题又来了,我是做微信的两个发展的第一时间,已经不能满足这样的需求,怎么办呢

我不能在一个时间思考,然后我把这个问题第一,并在后台做一些生意。在一个后台数据采集功能,PHP代码中使用_server美元{ 'http_user_agent}这个参数,我突然想到了浏览器页面时将发送一个用户代理的服务器,它包含了一些关于用户的浏览器和操作系统的基本信息,因为微信有一个内置的浏览器,然后使用微信浏览的用户会带来和WeChat的独特识别时(腾讯这样的大公司,但WeChat是他们的核心产品)简单的打印用户到代码的代码和Javascript代码如下:

复制代码代码如下所示:



警报(导航。用户代理);





我得到的结果显示在我的手机上。



还真的看到了不一样的地方,相信聪明的朋友们也发现了,是的,这是什么micromessenger / 6.0.0.50_r844973.501,这是我目前使用的版本的WeChat背后一个斜线,前面应该是WeChat的一个独特标志。实际上,我开始micromessage。我认为中文翻译是微信息的含义。但是仔细看后,我发现它不是。查了字典后,我知道信使这个词的含义是信使和信使,这个标志不应该被其他浏览器所利用,所以解决方案来,看看代码:

复制代码代码如下所示:



对于浏览器/用户代理规则匹配,WeChat不包含其他浏览器的唯一标识

VaR的UserAgent = navigator.useragent;

如果(useragent.match( / /我micromessenger)!= 'micromessenger){

这里的警告将阻止当前页面加载。

警报('already禁止访问:你要使用微信内置的浏览器来访问此页面!);

下面的Javascript代码用于强制关闭当前页

VaR打开= window.open(空白,'_self:);

opened.opener = null;

Opened.close();

}





此代码是测试在Android,iPhone,iPad,电脑,只要不在微信中打开网页,首先会弹出警告框上方的背面是空白的,什么是不加载,点击OK按钮后的最后三行的警告框将被强制关闭当前page.ok,这里是用户的原始意义的实现,可以简单地调用它的一天。

那么,真的可以做到吗你确定没有其他问题吗当然不是.事实上,这种方法不会让你放松,因为伪造的用户仍然可以绕过这个限制。一般来说,这是针对绅士或坏人的。当然,如果一个朋友有更好的方法来解决这个问题,让我以后告诉你,技术是互相分享和交流的。