Php 元刷新IP地址每3个IP地址重定向一次

Php 元刷新IP地址每3个IP地址重定向一次,php,meta-tags,Php,Meta Tags,在尝试了几个论坛并搜索了至少80个关于Stack Overflow的问题后,我现在来到Stack Overflow,以获得某种答案,所以请不要将此标记为垃圾邮件 我期待有一个元刷新重定向激活每个IP地址只有一次,这是三分之一的用户 因此,每三个用户中就有一个使用元刷新重定向,但是这些IP地址永远不会被重定向 这种脚本可能吗?您可以使用memcached之类的工具跟踪每三个访问者。 这会帮你的。您可以检查增量值%3是否=0 对于跟踪已重定向的用户,您有两种可能的解决方案: 1-在客户端上使用co

在尝试了几个论坛并搜索了至少80个关于Stack Overflow的问题后,我现在来到Stack Overflow,以获得某种答案,所以请不要将此标记为垃圾邮件

我期待有一个元刷新重定向激活每个IP地址只有一次,这是三分之一的用户

因此,每三个用户中就有一个使用元刷新重定向,但是这些IP地址永远不会被重定向


这种脚本可能吗?

您可以使用memcached之类的工具跟踪每三个访问者。

这会帮你的。您可以检查增量值%3是否=0

对于跟踪已重定向的用户,您有两种可能的解决方案:

1-在客户端上使用cookie


2-使用mysql表并将重定向的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.";
    
    检查IP地址,如果“刷新计数”为零,则有三分之一的机会将计数设置为null,否则发送刷新头。如果计数为null或3,就不要这样做。没什么太复杂的,你试过什么?