1. 程式人生 > >tp5 實現 登入密碼錯誤3次 賬戶鎖定5分鐘

tp5 實現 登入密碼錯誤3次 賬戶鎖定5分鐘

這樣也是常用的,記吧,記吧…… (為什麼這個富文字木有表情了!!!emmmm……)  

( ̄▽ ̄)/

 此功能所涉欄位(斜體,下劃線處即此功能程式碼):

count 計算密碼錯誤次數 

status 使用者狀態 (1為正常  0為鎖定)

last_time 賬戶最後登入時間

 public function login(){
        if (Request::instance()->isAjax()){
            $name= Request::instance()->post('name');
            $password = Request::instance()->post('password');
            $result = Db::name('admin')->where(['name'=>$name])->find();
            $inPWD=md5(md5($password));
            if(empty($result)){
                return ['code'=>-1,'msg'=>'使用者不存在'];
            }
           
            //判斷賬戶狀態 0為鎖定  
          if($result['status']  == 0){
                if((time() - $result['last_time']) > 300){
                    //過了鎖定時間 恢復正常狀態
                    $count['status'] = 1;
                    Db::name('admin')->where(['name' => $name])->update($count);
                }else{
                    return ['code'=>-1,'msg'=>'賬號或密碼錯誤超過3次,請5分鐘之後登入!'];
                }
            }
if($result['password']==$inPWD) { Db::name('admin')->where(['name' => $name])->update(['ip' => Request::instance()->ip(), 'last_time' => time()]); session('admin', $result); \session('last_time', time() + 1800); return ['code' => 0, 'msg' => '登入成功!']; }else{ if($result['count'] < 3){ // 錯誤小於三次 欄位值增加 $count['count'] = $result['count']+1; Db::name('admin')->where(['name' => $name])->update($count); }else{ // 錯誤次數大於3時 屬性恢復 清空 鎖定 $count['count'] = 0; $count['last_time'] = time(); $count['status'] = 0; Db::name('admin')->where(['name' => $name])->update($count); }
return ['code'=>-1,'msg'=>'密碼錯誤']; } } return view(); } ︿( ̄︶ ̄)︿   反正我是看懂了……

相關推薦

tp5 實現 登入密碼錯誤3 賬戶鎖定5分鐘

這樣也是常用的,記吧,記吧…… (為什麼這個富文字木有表情了!!!emmmm……)   ( ̄▽ ̄)/  此功能所涉欄位(斜體,下劃線處即此功能程式碼): count 計算密碼錯誤次數  st

登入安全性 一天內連續輸入密碼錯誤3,第二天才能登入(過了當天凌晨24點),實現原理

登入安全性 一天內連續輸入密碼錯誤3次,第二天才能登入(過了當天凌晨24點)  下面我們先在資料庫中建立一個試驗表,id,使用者名稱username,密碼pwd,次數num,時間time(date)

密碼錯誤3,30分鐘內無法登入原始碼

using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq;

login--用戶登陸,密碼失敗3賬戶將被鎖住

lojin pickle ---------------------------------------------userreset.py#!/usr/bin/env python# coding:utf-8 _ #encoding=utf-8#初始化用戶信息#created by xuke#da

login---用戶登陸,密碼失敗3賬戶將被鎖住

login pickle user_reset.py和user_login.py在同一目錄-----------------user_reset.pypickle user={:{:,:,:},:{:,:,:}} (user) f=(,) pickle.dump(user,f) f.close()--

SpringBoot註冊登入(四):登入功能--密碼錯誤,需要等待2分鐘才能登入,固定時間內不能登入

SpringBoot註冊登入(一):User表的設計點選開啟連結SpringBoot註冊登入(二):註冊---驗證碼kaptcha的實現點選開啟連結SpringBoot註冊登入(三):註冊--驗證賬號密碼是否符合格式及後臺完成註冊功能點選開啟連結SpringBoot註冊登入(

實現用戶登錄並且輸入錯誤鎖定該用戶

賬號 else input 實現 break div arm pen locked 我的測試環境,win7,python3.6,Pycharm社區版 提示輸入用戶名,和密碼 判斷是否被鎖定 判斷用戶名和密碼是否匹配 輸入錯誤三次,賬號被鎖定 real_user = ‘ch

最近開始努力學python 寫了一個python小代碼:判斷一個登陸程序,如果賬號密碼輸錯3鎖定賬號無法再登陸

登陸 readlines 輸入 連續 nbsp 努力 一個 取數據 lis 1 count = 0 2 username = ‘zhangsan‘ 3 userpassword = ‘111111‘ 4 5 f = open(‘lock.txt‘,‘r+‘

密碼錯誤限制登錄

har static init ESS 成功 sub class con scrip HTML頁面的代碼: <!doctype html><html lang="en"><head> <meta charset="UTF-8"

純java程式碼實現登陸次數驗證,登陸錯誤5之後鎖定30分鐘

本方法因為是根據思路純手寫,程式碼可以再簡化,功能嘗試沒問題,最主要就是在登陸驗證中的邏輯,checkLogin()方法是登入前的驗證,而真正的登陸方式採用的是Shiro,若不是採用Shiro登陸,將該邏輯採用到自己登陸的方法中即可實現 一、使用者驗證必須欄位  使用者實體類中User

如何實現跨 Docker 主機存儲?- 每天5分鐘玩轉 Docker 容器技術(73)

docker 教程 容器 從業務數據的角度看,容器可以分為兩類:無狀態(stateless)容器和有狀態(stateful)容器。無狀態是指容器在運行過程中不需要保存數據,每次訪問的結果不依賴上一次訪問,比如提供靜態頁面的 web 服務器。有狀態是指容器需要保存數據,而且數據會發生變化,訪問的結果

linux 執行任務crontab 安裝以及備份資料庫 一分鐘 備份一以及刪除5分鐘之前的 資料 好測試

crontab 安裝  [[email protected] ~]# yum install vixie-cron [[email protected] ~]# yum install crontabs service crond sta

java web 開發 如何實現 輸入密碼錯誤鎖定賬戶功能。

要求 : 1、 不能使用cookie 和 session ,因為 時間和條件受限2、不可以存、讀取資料庫 不給系統壓力 鎖定是很簡單的,只要在使用者表中加上失敗次數,鎖定標誌,鎖定時間(可選)。每次登入時,已經鎖定直接禁止登入。沒有鎖定就判定,如果失敗就把失敗次數+1,

C# winfrom實現輸入次數錯誤超過3 鎖定十五分鐘登入

using System;using System.Collections.Generic;using System.ComponentModel;using System.Configuration;using System.Data;using System.Drawin

django實現登錄時候輸入密碼錯誤5鎖定用戶十分鐘

redirect 記錄鎖 res contain objects title 開始 dir 解密 django實現登錄時候輸入密碼錯誤5次鎖定用戶十分鐘 在學習django的時候,想要實現登錄失敗後,進行用戶鎖定,切記錄鎖定時間,在網上找了很

Python實現簡單的用戶登錄信息確認,密碼輸錯3後,用戶被鎖定

and 技術分享 swd gin 計數 lse img success python ‘‘‘問題描述: 從文檔中讀入用戶名和密碼,檢驗用戶名和密碼的正確性, 密碼輸錯三次後用戶被鎖定,不允許登陸 解決思路:

11月12號 使用者登入輸入密碼錯誤達到指定次數後,鎖定賬戶 004

使用者表裡新增兩個屬性   連續密碼輸錯次數 private Integer loginFailCount; /** 登入失敗禁用時間 */ private Date missDate;   / 如果登入錯誤次數大於5次 規定時間內禁止登入 if

oracle的system賬戶用normal模式登入失敗,提示使用者名稱或密碼錯誤,但是如果用sysdba登入,即使不輸入密碼,或者密碼錯誤也能登入成功。

本人win7的作業系統,裝的shiftoracle 11g,問題就是我安裝成功後,單擊Database Control-orcl項進入企業管理器,進入https://localhost:1158/em/console/logon/logon這個頁面,進行登入,使用者名稱和密

python實現簡單的使用者密碼登入控制(輸入三鎖定使用者)

問題描述 我們經常在登入一些網站的時候,發現我們如果連續的輸錯好幾次密碼,我們的帳號就被鎖定起來了,那這個過程是如何實現的呢?本程式主要就是解決以下3件事情 1.輸入使用者名稱密碼 2.認證成功並顯示歡迎資訊 3.輸錯三次後鎖定 解決辦法

JAVA秒殺系統(五)實現登入功能--明文密碼MD5處理

1.資料庫設計2.明文密碼兩次MD5處理3.JSR303引數檢驗+全域性異常處理4.分散式Session1.新建查詢2.兩次MD5:防止資料洩露       1.使用者端:pass = MD5(明文+固