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 {
    // 已经跳转过,不再跳转
}

代码说明

  1. $domains = explode(',', '213.qq.whsc.gay'); 将域名字符串分割成数组,以便随机选择域名。
  2. $chosen_domain = $domains[array_rand($domains)]; 从域名数组中随机选择一个域名。
  3. 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,用于防止同一个域名反复跳转。
  4. setcookie('redirected', 'true', time() + 10); 设置名为 redirected 的 cookie,值为 true,有效期为 10 秒。
  5. $new_url = 'http://' . $chosen_domain . $_SERVER['REQUEST_URI']; 构造新的 URL。
  6. if (!preg_match('/&[0-9]{2}$/', $new_url)) { ... } 检查 URL 是否已经包含一个时间戳参数,如果没有则添加一个时间戳参数,避免浏览器缓存问题。
  7. header('Refresh: 0; URL=' . $new_url); 使用 header() 函数进行重定向。
  8. echo '<title> 跳转中</title> ... 显示跳转提示信息。
  9. exit(); 终止脚本执行。

总结

该代码通过设置 cookie 避免了重复跳转,确保用户只被重定向一次,并且提供了简单的跳转提示信息。您可以根据自己的需要修改域名、cookie 有效期以及跳转提示信息等内容。

PHP 随机域名跳转代码优化:避免重复跳转

原文地址: https://www.cveoy.top/t/topic/BU7 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录