Теперь я перехожу к StackOverflow после того, как попробую несколько форумов и по крайней мере в 80 вопросах по переполнению стека найду ответ, так что, пожалуйста, не помечайте это как спам.
Я хочу, чтобы перенаправление META REFRESH активировалось только один раз для каждого IP-адреса, и это будет один из трех пользователей.
Таким образом, каждый 1 из 3 пользователей перенаправляется с помощью META REFRESH, но эти 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.";
Вы можете использовать что-то вроде memcached для отслеживания каждого третьего посетителя.
Memcache :: приращение
Это поможет вам. Вы можете проверить, является ли значение приращения% 3 == 0.
Для отслеживания того, кто уже был перенаправлен, у вас есть 2 возможных решения:
1 — Используйте куки на клиенте.
2 — Используйте таблицу MySQL и поместите туда IP-адреса, которые были перенаправлены.