$ _POST方法请求限制

时间:2011-05-06 13:09:03

标签: php

if($_POST['body']) {
//do my stuff
}

但是,假设我想限制$ _POST ['body']访问每用户100(IP)。 每次相同的用户(相同的IP)访问/尝试$ _POST ['body'])ir计数他和如果达到限制(此时间限制100)显示错误消息,并据说他可以访问$ _POST ['body' ] 10分钟后。

首先想到的是使用MySQL,记录每个IP并计算访问时间。但想象一下,如果网站有很多访问者,它会记录多少IP。那么,没有mysql就可以做到这一点?如果是,请提供脚本。

如果有什么不明白的话,jusk问,并抱歉英语:/

3 个答案:

答案 0 :(得分:3)

使用足够的会话吗?

if($_POST['body']){
    if($_SESSION['counter'] < 100){
       //...
       $_SESSION['counter']++;
    }
}

请记住,不同的IP并不代表不同的用户。许多用户可以在同一个代理服务器后面,为他们提供相同的IP地址。

答案 1 :(得分:1)

唯一的方法是保存此服务器端,如果正确清理数据库tabe,则不会增长太多。

您可以使用Cookie或会话(它们是基于Cookie的),但这是客户端,人们可以删除或更改Cookie。

答案 2 :(得分:0)

我的第一个念头也是DB。你试过cookies吗?