Мета-обновление IP-адреса перенаправляется один раз каждые 3 IP-адреса

Теперь я перехожу к StackOverflow после того, как попробую несколько форумов и по крайней мере в 80 вопросах по переполнению стека найду ответ, так что, пожалуйста, не помечайте это как спам.

Я хочу, чтобы перенаправление META REFRESH активировалось только один раз для каждого IP-адреса, и это будет один из трех пользователей.

Таким образом, каждый 1 из 3 пользователей перенаправляется с помощью META REFRESH, но эти IP-адреса никогда не будут перенаправлены никогда.

Возможен ли такой сценарий?

1

Решение

Вы хотите разбить это на задачи, но это выполнимо. Несколько слов предупреждения: IP-адрес может меняться или использоваться совместно (например, университет), но это может быть вполне приемлемым для любой цели.

  1. Проверьте, был ли перенаправлен IP-адрес
  2. Используйте случайную проверку, чтобы определить, является ли это один из трех
  3. Если это лог это как-то. Этот пример записывает его в файл.

Я оставил здесь некоторые комментарии, которые полезны для отладки:

// 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.";
0

Другие решения

Вы можете использовать что-то вроде memcached для отслеживания каждого третьего посетителя.
Memcache :: приращение

Это поможет вам. Вы можете проверить, является ли значение приращения% 3 == 0.

Для отслеживания того, кто уже был перенаправлен, у вас есть 2 возможных решения:

1 — Используйте куки на клиенте.

2 — Используйте таблицу MySQL и поместите туда IP-адреса, которые были перенаправлены.

0

По вопросам рекламы [email protected]