PHP 域名访问参数长度判断与重定向
以下是用 PHP 编写的判断访问的域名,如果带/?问号后边的字符大于 29 个的代码:
$random = mt_rand(100000, 999999);
// 判断是否是首次访问
if (!isset($_COOKIE['visited'])) {
// 设置cookie,有效期为3秒
setcookie('visited', 1, time() + 3);
// 获取当前网址
$url = 'http://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]';
// 判断是否已经有参数
if (strpos($url, '?') !== false) {
// 如果有参数,在后面加上随机数
$url .= '&sltz=' . $random;
} else {
// 如果没有参数,在后面加上随机数
$url .= '?slfh=' . $random;
}
// 判断参数部分的长度是否大于等于29个字符
if (strlen(parse_url($url, PHP_URL_QUERY)) >= 29) {
// 执行需要执行的代码
// ...
}
}
在以上代码中,首先生成一个随机数 $random,然后判断是否是首次访问,如果是首次访问,则设置一个有效期为3秒的 cookie,并获取当前网址。判断当前网址是否已经有参数,如果有参数,则在参数后面加上一个随机数 sltz,如果没有参数,则在网址后面加上一个参数 slfh。最后,判断参数部分的长度是否大于等于 29 个字符,如果满足条件,则执行需要执行的代码。
原文地址: https://www.cveoy.top/t/topic/bwNi 著作权归作者所有。请勿转载和采集!