Php 防止在特定时间内从同一IP提交多个表单

Php 防止在特定时间内从同一IP提交多个表单,php,Php,我有下面的脚本,它创建了两个会话变量来存储IP和表单提交时间。我想知道,如果同一IP在60秒内提交表单超过3次,是否可以显示消息 <?php if ($_SERVER['REQUEST_METHOD'] == 'POST') { session_start(); function getRealIpAddr() { if (!empty($_SERVER['HTTP_CLIENT_IP'])) //check ip from sha

我有下面的脚本,它创建了两个会话变量来存储IP和表单提交时间。我想知道,如果同一IP在60秒内提交表单超过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

}

我希望您知道两个不同的会话可能具有相同的IP。。例如,人们从不同的浏览器连接到您的网站,或者人们从内部网连接到您的网站。这是一个非常有效的观点。我想知道我是否能以某种方式区分这两种情况。你应该做的是不允许一个特定会话产生两个或多个后续请求,而不是基于IP。