帮我实现一个检测功能随机获取变量$j46里的域名不是腾讯管家和微信拦截的$j46 = $confj46;$j47 = $confj47;if $j47 == 1 $domains = explode $j46;$chosen_domain = $domainsarray_rand$domains; 随机获取$j46里的一个值if !isset$_COOKIEredirected setco
以下是实现检测功能的代码:
$j46 = $conf['j46']; $j47 = $conf['j47'];
if ($j47 == 1) { $domains = explode(",", "$j46"); shuffle($domains); // 随机打乱数组
foreach ($domains as $domain) {
$url = "http://" . $domain . $_SERVER['REQUEST_URI'];
$headers = get_headers($url);
// 判断是否被腾讯管家和微信拦截
if (strpos($headers[0], "200") !== false && strpos($headers[10], "text/html") !== false) {
$chosen_domain = $domain;
break;
}
}
if (isset($chosen_domain)) {
if (!isset($_COOKIE['redirected'])) {
setcookie('redirected', 'true', time()+10);
$new_url = "http://" . $chosen_domain . $_SERVER['REQUEST_URI'];
header("Refresh: 2; URL=$new_url");
echo "<title>跳转中,请稍等 </title>嘿嘿";
exit();
} else {
// 已经跳转过,不再跳转
}
} else {
// 没有可用的域名,提示错误信息
echo "没有可用的域名,请稍后再试";
}
} else { // j47不为1,不进行跳转 }
注释详解:
- 首先获取变量$j46里的域名,存放在数组$domains中。
- 使用shuffle()函数将数组随机打乱。
- 遍历数组$domains,依次检测每个域名是否被腾讯管家和微信拦截。
- 如果检测到一个可用的域名,则将其赋值给变量$chosen_domain,并跳出循环。
- 如果没有可用的域名,则提示错误信息。
- 如果$chosen_domain已经被赋值,则进行跳转。
- 如果$_COOKIE['redirected']已经存在,则不进行跳转
原文地址: https://www.cveoy.top/t/topic/egHT 著作权归作者所有。请勿转载和采集!