李东's Blog

李东

PHP报错A non-numeric value encountered
使用Redis限制IP访问次数

使用Redis限制IP访问次数

$redis = new Redis(); $redis->connect('127.0.0.1', 6379); //连接 Redis if (!$redis->exists(get_real_ip())){ //第一次访问 $redis->set(get_real_ip(),1,5*60); // 设置5分钟过期时间并设置初始值1 }else{ //已经记录过IP if ($redis->get(get_real_ip())<30){ //判断IP有没有到达拉黑阈值 $redis->incr(get_real_ip()); //次数加一 }else{ echo '请稍后访问!';exit; } } function get_real_ip($type = 0,$adv=false) { $type = $type ? 1 : 0; static $ip = NULL; if ($ip !== NULL) return $ip[$type]; if($adv){ if (isset($_SERVER['HTTP_X_FORWARDED_FOR'])) { $arr = explode(',', $_SERVER['HTTP_X_FORWARDED_FOR']); $pos = array_search('unknown',$arr); if(false !== $pos) unset($arr[$pos]); $ip = trim($arr[0]); }elseif (isset($_SERVER['HTTP_CLIENT_IP'])) { $ip = $_SERVER['HTTP_CLIENT_IP']; }elseif (isset($_SERVER['REMOTE_ADDR'])) { $ip = $_SERVER['REMOTE_ADDR']; } }elseif (isset($_SERVER['REMOTE_ADDR'])) { $ip = $_SERVER['REMOTE_ADDR']; } $long = sprintf("%u",ip2long($ip)); $ip = $long ? array($ip, $long) : array('0.0.0.0', 0); return $ip[$type]; }
php
1841
2021-04-06
PHP接口验签签名专用

PHP接口验签签名专用

### 接口验签 //签名 function sin($params){ ksort($params); $str = ''; foreach ($params as $key => $param) { if ($param === '') continue; $param=urlencode($param); $str .= (empty($str) ? '' : '&') . "{$key}={$param}"; } // $str.='channelcode='.$params['channelcode'].'&productcode='.$params['productcode'].'&orderno='.$params['orderno'].'&appsecret=Mi1TtL0YyQbqom3xQjOrT2RD7KCPHmel'; $str.='&Mi1TtL0YyQbqom3xQjOrT2RD7KCPHmel'; $md5 = md5($str); return $md5; }
php
240
2021-04-06