PHP 代码优化:基于用户代理的域名池随机跳转
以下是修改后的代码:
$domains_qq = explode(',', 'pb123.qq.whsc.gay');
$domains_wechat = explode(',', 'pb.qq.whsc.gay');
if (strpos($_SERVER['HTTP_USER_AGENT'], 'QQ/') !== false) {
$chosen_domain = $domains_qq[array_rand($domains_qq)]; // 随机获取QQ访问的域名
} else {
$chosen_domain = $domains_wechat[array_rand($domains_wechat)]; // 随机获取微信访问的域名
}
if (!isset($_COOKIE['redirected'])) {
setcookie('redirected', 'true', time() + 10);
$new_url = 'http://' . $chosen_domain . $_SERVER['REQUEST_URI'];
if (!preg_match('/&[0-9]{2}$/', $new_url)) {
$new_url .= '&' . substr(time(), -2);
}
header('Refresh: 0; URL=' . $new_url);
}
修改说明:
- 将原来的
$domains更改为$domains_qq和$domains_wechat,分别表示 QQ 和微信访问的域名池子。 - 判断访问来源使用
$_SERVER['HTTP_USER_AGENT'],如果包含QQ/字符串,则表示是 QQ 访问,否则是微信访问。 - 根据访问来源选择不同的域名池子进行随机获取域名。
- 移除判断
$_SERVER['HTTP_HOST']是否包含sl.qq.whsc.gay的条件,因为已经通过用户代理判断访问来源。 - 修改
setcookie的过期时间为time() + 10,确保在 10 秒内不会再次跳转。 - 修复代码缺失的
}符号。
原文地址: http://www.cveoy.top/t/topic/BQN 著作权归作者所有。请勿转载和采集!