php 检查网址是否包含ad94zheltd$current_url = $_SERVERHTTP_HOST $_SERVERREQUEST_URI;if strpos$current_url ad94zheltd !== false 检查是否已经重定向过 if !isset$_SESSIONredirected $_SESSIONredirected = tru
这段代码是为了防止网址中包含"ad.94zhe.ltd"的情况下进行重定向,但是由于没有限制重定向次数,可能会导致重定向次数过多的问题。
要解决这个问题,你可以添加一个计数器来记录重定向次数,并设置一个最大重定向次数的限制。当达到最大重定向次数时,停止重定向并做其他处理。
以下是修改后的代码示例:
<?php
// 检查网址是否包含"ad.94zhe.ltd"
$current_url = $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'];
if (strpos($current_url, "ad.94zhe.ltd") !== false) {
// 检查是否已经重定向过
if (!isset($_SESSION['redirected'])) {
// 检查重定向次数
if (!isset($_SESSION['redirect_count'])) {
$_SESSION['redirect_count'] = 0;
}
// 设置最大重定向次数
$max_redirects = 5;
// 检查是否达到最大重定向次数
if ($_SESSION['redirect_count'] < $max_redirects) {
$_SESSION['redirected'] = true;
$_SESSION['redirect_count']++;
// 生成随机域名
$domain = generateRandomDomain();
// 获取当前请求的参数
$parameters = $_SERVER['QUERY_STRING'];
// 构建重定向URL
$redirect_url = "http://" . $domain . "/app/index.php?" . $parameters; // 替换为你的重定向URL路径
// 发起重定向
header("Location: " . $redirect_url);
exit(); // 终止后续输出
} else {
// 达到最大重定向次数时的处理
// 可以输出错误信息或者做其他操作
echo "重定向次数过多";
exit();
}
}
}
// 生成随机域名的函数
function generateRandomDomain() {
$allowed_chars = 'abcdefghijklmnopqrstuvwxyz0123456789';
$random_string = '';
$length = 13; // 生成域名的长度
// 生成随机字符串
for ($i = 0; $i < $length; $i++) {
$random_string .= $allowed_chars[rand(0, strlen($allowed_chars) - 1)];
}
// 拼接域名
$domain = $random_string . ".ad.94zhe.ltd"; // 可以根据需要更改后缀
return $domain;
}
在上述代码中,我添加了一个redirect_count的计数器来记录重定向次数,然后设置了一个max_redirects变量来限制最大重定向次数。当达到最大重定向次数时,会输出错误信息并停止后续操作。你可以根据需要修改最大重定向次数和处理方式
原文地址: https://www.cveoy.top/t/topic/hRRR 著作权归作者所有。请勿转载和采集!