检查/设置用户访问频率 指定 user_marked在 time_slot 秒内最多访问 count次;/**<br>
* 检查/设置用户访问频率 指定 user_marked在 time_slot 秒内最多访问 count次;<br>
* @param $lime_slot 时间片 单位秒<br>
* @param $count 整数<br>
* @param $user_marked 用户唯一标示,默认为客户端IP<br>
* @return array('status'=>1,'info'=>'') <br>
* @author leeyi <leeyisoft><br>
*/<br>
function check_rate_limiting($time_slot, $count, $user_marked='') {<br>
$user_marked = empty($user_marked) ? get_client_ip() : $user_marked;<br>
$cache_key = 'rate.limiting:'.$user_marked;<br>
$redis = new Redis;<br>
$options = array (<br>
'host' => C('REDIS_HOST') ? C('REDIS_HOST') : '127.0.0.1',<br>
'port' => C('REDIS_PORT') ? C('REDIS_PORT') : 6379,<br>
'timeout' => C('DATA_CACHE_TIMEOUT') ? C('DATA_CACHE_TIMEOUT') : false,<br>
);<br>
$res = $redis->connect($options['host'], $options['port'], $options['timeout']);<br>
$ret = array('status'=>0, 'info'=>'');<br>
if( false===$res) {<br>
$ret['info'] = '链接Redis失败';<br>
return $ret;<br>
}<br>
$redis->expire($cache_key, $time_slot); // 设置过期时间<br>
$list_len = $redis->llen($cache_key);<br>
if( $list_len
$redis->lpush($cache_key, NOW_TIME);<br>
$ret['status'] = 1;<br>
} else {<br>
$datetime = $redis->lindex($cache_key, -1); // -1 标示列表最后一个元素<br>
if( (NOW_TIME-$datetime)
$ret['info'] = '访问频率超过了限制,请稍后重试。';<br>
// $redis->ltrim($cache_key, -1, 0); //清空列表<br>
} else {<br>
$redis->lpush($cache_key, NOW_TIME);<br>
// <br>
$redis->ltrim($cache_key, 0, $count-1);<br>
$ret['status'] = 1;<br>
}<br>
}<br>
1==$ret['status'] && $ret['info'] = $list_len 1;<br>
return $ret;<br>
<br>
}</leeyisoft>
AD:真正免费,域名 虚机 企业邮箱=0元

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

SecLists
SecLists是最终安全测试人员的伙伴。它是一个包含各种类型列表的集合,这些列表在安全评估过程中经常使用,都在一个地方。SecLists通过方便地提供安全测试人员可能需要的所有列表,帮助提高安全测试的效率和生产力。列表类型包括用户名、密码、URL、模糊测试有效载荷、敏感数据模式、Web shell等等。测试人员只需将此存储库拉到新的测试机上,他就可以访问到所需的每种类型的列表。

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

EditPlus 中文破解版
体积小,语法高亮,不支持代码提示功能

记事本++7.3.1
好用且免费的代码编辑器

VSCode Windows 64位 下载
微软推出的免费、功能强大的一款IDE编辑器