马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
以往的跳转方式都是手动跳转,或者提醒跳转。
站长必备,简单几行代码实现微信拦截自动从微信跳到外部浏览器
还有就是通过阿里云的OSS和腾讯云的COS储存桶用html文件进行跳转
因为储存桶的自带的域名不容易域名爆红和打不开
网上的一些跳转方式也是层出不穷。
往期也分享过不少的域名防红的程序,下面分享一段php的代码,可以直接拉起微信浏览器跳转到外部的浏览器
功能分析
检测用户代理 (User-Agent): PHP 代码通过 $_SERVER['HTTP_USER_AGENT'] 检测当前请求是否来自微信浏览器。微信的 User-Agent 中包含 MicroMessenger,所以可以通过 strpos() 函数检测。
如果是微信浏览器:
设置 Content-Disposition 和 Content-Type 头部,让页面表现为下载一个 .doc 文件。微信浏览器不允许直接通过 header('Location: ...') 跳转到外部地址,而是通过这种方式绕过限制。
如果不是微信浏览器:
使用 header('Location: ...') 将用户重定向到目标地址。
HTML 和 JavaScript 提示:
如果用户在微信浏览器中打开,提供友好的提示信息,告诉用户如何通过微信的右上角菜单打开外部浏览器。
一个按钮提供了直接调用浏览器跳转的逻辑(适用于非微信浏览器)。
工作原理
PHP 代码部分
- <?php
- $ua = $_SERVER['HTTP_USER_AGENT']; // 获取用户代理字符串
- $isWechat = (strpos($ua, 'MicroMessenger')) ? true : false; // 检查是否为微信浏览器
-
- if ($isWechat) {
- // 微信环境下伪装成文件下载
- header("Content-Disposition: attachment; filename
复制代码 「123.php」来自UC网盘分享
https://drive.uc.cn/s/352eee5cd7d54?public=1
我用夸克网盘分享了「123.php」,点击链接即可保存。打开「夸克APP」在线查看,支持多种文档格式转换。
链接:https://pan.quark.cn/s/b5f42186ad54
|