首页
导航
博客
电子书
算法
众创
代码
随贴
关于我们
您好,欢迎来到码863代码分享网! 请
[登录]
/
[注册]
搜 索
redis限制发布,php限制时间,限制刷新,禁止频繁提交刷新
编辑
调用 if(!visit(3600,100,$g['uid'],1,86400)){//一小时只能发100篇 休息1天 show_message('没必要这么快吧!'); }
代码正文
双击正文可选择全部
1[代码][php]
尝试一下
/** * redis函数用于实例化connection * @param string $table 默认空不设置表名 db('user u') * @param string $prefix 表前缀 NULL为没有前缀 ''为加C('DB_PREFIX') * @return $connection 数据库连接信息 */ function redis(){ static $redis=null; if(!$redis){ global $g; $config=$g['config']; $redis=new Redis; $redis->pconnect($config['redis_host'], $config['redis_port']); if($config['redis_password'])$redis->auth($config['redis_password']); if($config['redis_select'])$redis->select($config['redis_select']); } return $redis; } /** sec秒内统计数超过num拒绝访问 * @param int $sec 秒内 * @param int $num 统计数超过num * @param string $key 统计对象 * @param int $persist 持续禁止 超过后拒绝访问 * @param int $persist_time $persist=1生效 持续禁止时间, 0一直禁止 * @return 1可以 0否 */ function visit($sec=60,$num=3,$key='visit',$persist=0,$persist_time=0){ $key='v_'.$key; $val=intval(redis()->get($key)); if(!$val){ redis()->setex($key,$sec,1); }elseif($val>=$num){ if($persist){ if($persist_time) redis()->setex($key,$persist_time,$num+1); else redis()->set($key,$num+1); } return 0; }else{ redis()->incr($key); } return 1; }
文明上网理性发言,请遵守新闻评论服务协议
0 条评论
发布评论
全部评论
最新
/
最热
暂无评论
加载更多
CopyRight 2002~2023 精通2100网 联系邮箱:qqtxt@163.com
版权所有:精通2100网
湘ICP备2023018646号-1
MYSQl共执行 3 个查询,用时 0.0015690326690674 秒,PHP脚本用时 0.004191 秒,占用内存 0.503 MB,Gzip 已启用