在特定时间内防止来自相同IP的多个表单提交

时间:2017-03-29 10:11:53

标签: php

我有以下脚本创建了2个会话变量,用于存储IP和提交表单的时间。我想知道如果表格在60秒的时间内被相同的IP提交了3次以上显示消息

    <?php

if ($_SERVER['REQUEST_METHOD'] == 'POST') {

    session_start();

    function getRealIpAddr()
    {
        if (!empty($_SERVER['HTTP_CLIENT_IP']))   //check ip from share internet
        {
          $ip=$_SERVER['HTTP_CLIENT_IP'];
        }
        elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR']))   //to check ip is pass from proxy
        {
          $ip=$_SERVER['HTTP_X_FORWARDED_FOR'];
        }
        else
        {
          $ip=$_SERVER['REMOTE_ADDR'];
        }
        return $ip;
    }

    $_SESSION['ip'] = getRealIpAddr();
    $_SESSION['time'] = date(DATE_RFC822);

// function to prevent multiple form submissions / bot

}

我意识到这是非常简陋的而且不是故障安全的,但我只想在这里进行一些基本的滥用预防和构建。

非常感谢任何指导。

0 个答案:

没有答案