谁一开始就是大神?

PHP如何使用Redis限制表单提交成功五次后不能再提交了?[2.0]

PHP 如何使用 Redis 限制表单提交成功五次后不能再提交了?我发现这样写好像不行,不能判断是否入库成功

/**************/
//获取当前的ip,限制每个ip只能提交五次
$user_ip = Common_Common::getRealIp();
if($user_ip){
    //这个key记录该用户的访问次数
    $key = $user_ip;
    //定义限制次数
    $limit = 5;
    $redis = new \Redis();
    $redis->connect('127.0.0.1', 6379, 30);
    $check = $redis->exists($key);
    if($check){
        if(Service_VideoComment::add($row)){
            $redis->incr($key);  //键值递增
            $count = $redis->get($key);
            if($count > $limit){
                $return = array(
                    "status" => 0,
                    "msg"    => "温馨提示:您的信息已存在,请直接咨询在线客服!"
                );
                exit(json_encode($return));
            }
        }
    }else{
        if(Service_VideoComment::add($row)){
            $redis->incr($key);
        }
    }
}
/**************/

每次进来查一下这个ip的提交次数,如果大于等于5次,直接驳回。
不大于5在下面进行表单入库,入库成功后当前ip提交次数加1。
建议incrby放在最开始,判断返回值是否大于5

赞(0) 打赏
未经允许不得转载:菜鸟之家 » PHP如何使用Redis限制表单提交成功五次后不能再提交了?[2.0]

评论 抢沙发

登录

找回密码

注册