尝试了几个论坛并在堆栈溢出上搜索至少80个问题后,我现在来stackoverflow寻求某种答案,因此请不要将其标记为垃圾邮件。
我希望每个IP地址仅一次激活一次Meta刷新重定向,这是三分之一的用户。
因此,每三个用户中的每1个用户都会使用元刷新重定向,但是这些IP地址再也不会重定向。
这种脚本是否可能?
您需要将其分解为任务,但这是可行的。一些警告的话: IP地址可以更改或共享(想想大学),但这对您的目标是不错的。
- 检查IP地址是否已重定向
- 使用随机检查确定是否是三分之一
- 如果是以某种方式记录它。此示例将其记录到文件。
我在这里留下了一些内容,这些内容对调试很有用:
// print_r($_SERVER);
$ineligibleIP=file_get_contents('reddit.txt');
//echo $ineligibleIP;
//echo $_SERVER['REMOTE_ADDR'];
if (strpos($ineligibleIP,$_SERVER['REMOTE_ADDR']) === false) {
//echo 'Eligible';
$test=rand(1,3);
// echo $test;
if($test==1) {
$ineligibleIP.=$_SERVER['REMOTE_ADDR']."n";
file_put_contents('reddit.txt', $ineligibleIP);
header('Location: https://www.google.com');
}
}
echo "Yay, not redirected.";
您可以使用诸如memcach的内容来跟踪每个第三次访问者。memcache ::增量
这将帮助您。您可以检查增量值%3 == 0。
用于跟踪谁已经重定向您有2个可能的解决方案:
1-在客户端上使用cookie。
2-使用MySQL表并将其放在那里的IP。