PHP 随机域名跳转代码优化:避免重复跳转
PHP 随机域名跳转代码优化:避免重复跳转
本文介绍如何使用PHP代码实现随机域名跳转,并通过设置cookie避免重复跳转,确保用户只被重定向一次。
代码示例
$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); // 设置cookie,有效期为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);
echo '<title> 跳转中</title>
<meta content='width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0' name='viewport' />
/</div>';
exit();
} else {
// 已经跳转过,不再跳转
}
代码说明
$domains = explode(',', '213.qq.whsc.gay');将域名字符串分割成数组,以便随机选择域名。$chosen_domain = $domains[array_rand($domains)];从域名数组中随机选择一个域名。if (!isset($_COOKIE['redirected']) && strpos($_SERVER['HTTP_HOST'], 'sl.qq.whsc.gay') === false)判断是否已经跳转过:!isset($_COOKIE['redirected'])检查名为redirected的 cookie 是否存在。strpos($_SERVER['HTTP_HOST'], 'sl.qq.whsc.gay') === false检查当前域名是否包含sl.qq.whsc.gay,用于防止同一个域名反复跳转。
setcookie('redirected', 'true', time() + 10);设置名为redirected的 cookie,值为true,有效期为 10 秒。$new_url = 'http://' . $chosen_domain . $_SERVER['REQUEST_URI'];构造新的 URL。if (!preg_match('/&[0-9]{2}$/', $new_url)) { ... }检查 URL 是否已经包含一个时间戳参数,如果没有则添加一个时间戳参数,避免浏览器缓存问题。header('Refresh: 0; URL=' . $new_url);使用header()函数进行重定向。echo '<title> 跳转中</title> ...显示跳转提示信息。exit();终止脚本执行。
总结
该代码通过设置 cookie 避免了重复跳转,确保用户只被重定向一次,并且提供了简单的跳转提示信息。您可以根据自己的需要修改域名、cookie 有效期以及跳转提示信息等内容。
原文地址: https://www.cveoy.top/t/topic/BU7 著作权归作者所有。请勿转载和采集!