国产+高潮+在线,国产 av 仑乱内谢,www国产亚洲精品久久,51国产偷自视频区视频,成人午夜精品网站在线观看

redis 的 incr 自增問(wèn)題

實(shí)現(xiàn)功能

用戶(hù)非法訪問(wèn)路由,則當(dāng)前ip自增加一 自增 incr 方法

實(shí)現(xiàn)代碼如下

// dd($request->getRealIp( $safe_mode=true ));
$Redis = new Redis;
$key   = 'forbidden:ip:' . $request->getRealIp( $safe_mode = true );
$limit = 10;
#設(shè)置過(guò)期時(shí)間 2小時(shí) 讀系統(tǒng)配置
$error_ex_time = bcmul(2,3600);
$check = $Redis::exists($key);
dd('ckeck:'.$check);
if($check && $error_ex_time > 0){
    $Redis::incr($key);
    dd('key1:'.$Redis::get($key));
    if( $Redis::get($key) >= $limit )
        return error('','當(dāng)前IP非法訪問(wèn)次數(shù)過(guò)多,已禁用');
}else{
    if( $error_ex_time ) {
        $Redis::incr($key);
        $Redis::expire($key,$error_ex_time);
        dd('key2:'.$Redis::get($key));
    }
}

出現(xiàn)問(wèn)題
截圖 截圖 截圖

上面是打印自增 value 的值 發(fā)現(xiàn)

value 會(huì)從 5 自增 后再查詢(xún) 直接變成 8

value 會(huì)從 9 自增 后再查詢(xún) 直接變成 2

截圖
這個(gè)是請(qǐng)求一次后,直接用redis查詢(xún)當(dāng)前的key值發(fā)現(xiàn),如果自增異常就不會(huì)累加

期望 可以實(shí)現(xiàn)每次加一期望 可以實(shí)現(xiàn)每次加一

實(shí)現(xiàn)案例 用 set key 累加1 也可以實(shí)現(xiàn)當(dāng)前功能

提出疑問(wèn)

這是因?yàn)閣ebman框架的原因嗎

1153 2 0
2個(gè)回答

powerbowen

我用你的代碼在webman里跑到了40+也沒(méi)有遇到問(wèn)題,使用的包是 composer require psr/container ^1.1.1 illuminate/redis illuminate/events 要不把IP輸出出來(lái)一起看看,插眼,等大佬回答學(xué)習(xí)經(jīng)驗(yàn)

        $Redis = new Redis();
        $key   = 'forbidden:ip:127.0.0.1';
        $error_ex_time = 2 * 3600;
        $check = $Redis::exists($key);
        if ($check && $error_ex_time > 0) {
            $Redis::incr($key);
        } else {
            if( $error_ex_time ) {
                $Redis::incr($key);
                $Redis::expire($key,$error_ex_time);
            }
        }
        return json($Redis::get($key));
  • powerbowen 2022-11-25

    補(bǔ)充,如果不考慮waf問(wèn)題這么寫(xiě)沒(méi)問(wèn)題,如果考慮waf問(wèn)題的話(huà)要自己做處理,waf形式得到的ip是 192.167.1.2 192.168.2.3 大概這種

  • 凌晨三點(diǎn)半的盧本偉 2022-11-25

    按照大佬指示測(cè)試,打印ip地址,真的是ip改變了,所以key才沒(méi)有獲取到

  • powerbowen 2022-11-25

    IP變了,換一個(gè)唯一表示,jwt之類(lèi)的可以用uid,或者看請(qǐng)求頭里設(shè)置session或者cookie試試

  • 凌晨三點(diǎn)半的盧本偉 2022-11-25

    這個(gè)功能主要作用防止用戶(hù)調(diào)接口,訪問(wèn)不存在的路由才記錄,沒(méi)有登錄的用戶(hù)是沒(méi)有數(shù)據(jù)記錄的,所以我只能根據(jù)ip來(lái)判斷,哈哈哈哈

  • powerbowen 2022-11-25

    嘔吼,那只能這樣了

補(bǔ)充一下 我是在路由回調(diào)做數(shù)據(jù)處理

截圖

截圖

  • 暫無(wú)評(píng)論
年代過(guò)于久遠(yuǎn),無(wú)法發(fā)表回答
??