1.header
安卓微信 :Mozilla/5.0 (Linux; Android 13; 2203121C Build/TKQ1.220829.002; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/116.0.0.0 Mobile Safari/537.36 XWEB/1160055 MMWEBSDK/20231202 MMWEBID/7180 MicroMessenger/8.0.46.2540(0x28002E37) WeChat/arm64 Weixin NetType/WIFI Language/zh_CN ABI/arm64
苹果微信:Mozilla/5.0 (iPhone, CPU iPhone OS 17_2_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148 MicroMessenger/8.0.46(0x18002e2b)NetType/WIFI Language/zh_CN
Mozilla/5.0 (iPad, CPU OS 17_0_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148 MicroMessenger/8.0.46(0x18002e2b)NetType/WIFI Language/zh_CN
pc客户端微信:Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/107.0.0.0 Safari/537.36 NetType/WIFI MicroMessenger/7.0.20.1781(0x6700143B) WindowsWechat(0x6309091b) XWEB/8555 Flue
我通过统计其他样本发现安卓微信带有WeChat,苹果微信带有WIFI Language,pc带有WindowsWechat
2.判断
$user_agent = $_SERVER["HTTP_USER_AGENT"];
//包括WeChat是安卓微信,包含WindowsWechat是pc端微信,包含WIFI Language是苹果微信
if (!strpos($user_agent,"WeChat") && !strpos($user_agent,"WindowsWechat") && !strpos($user_agent,"WIFI Language")) {
// 其他设备
} else {
// 微信设备
}