国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > CMS > 帝國Empire > 正文

帝國cms 會員登錄、退出日志插件

2024-08-28 12:25:41
字體:
來源:轉載
供稿:網友
7.0、7.2已經可以使用(7.5應該放到對應代碼應該也可以用),更多判斷限制可以自行添加上去,如果有不足之處,還請大神多多指點。
1、后臺-系統設置-執行SQL語句,執行以下sql語句即可
CREATE TABLE IF NOT EXISTS `phome_member_log` (
  `id` int(11) NOT NULL auto_increment,
  `userid` int(11) NOT NULL,
  `username` varchar(255) NOT NULL,
  `logintime` int(10) NOT NULL,
  `loginip` varchar(32) NOT NULL,
  `status` smallint(1) NOT NULL,
  `password` varchar(255) NOT NULL,
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=2 ;

2、在/e/class/connect.php函數表中加入函數
//用戶登錄日志(包含第一次注冊時候的默認登錄、成功登錄、退出、賬號不存在、密碼錯誤、賬號為空、密碼為空、賬號未通過審核),1成功登錄、2退出網站、3注冊登錄、4賬號密碼錯誤、5賬號不存在、6賬號未通過審核、7賬號或密碼為空、8驗證碼錯誤
function insert_member_log($userid,$username,$logintime,$loginip,$status,$password){
        global $empire,$dbtbpre;
        $password=RepPostVar($password);
        if($status=='1' || $status=='3')
        {
                $password='';
        }else if($status=='4' || $status=='5'){
                $password=md5($password);
        }
        $userid=RepPostVar($userid);
        $username=RepPostVar($username);
        $logintime=RepPostVar($logintime);
        $loginip=RepPostVar($loginip);
        $status=RepPostVar($status);
        $password=RepPostVar($password);
        $sql=$empire->query("insert into {$dbtbpre}member_log(userid,username,logintime,loginip,status,password) values('$userid','$username','$logintime','$loginip','$status','$password');");
}
//用戶登錄次數錯誤限制
function member_login_error($username,$loginip){
        global $empire,$dbtbpre;
        $username=RepPostVar($username);
        $loginip=RepPostVar($loginip);
        $start_time=strtotime(date("Y-m-d H:i:s", strtotime("-10 minute")));
        $end_time=time();
        $username_login=$empire->fetch1("select count(*) as total from {$dbtbpre}member_log where username='$username' and status in (4,5,6,7) and logintime between '$start_time' and '$end_time' limit 1");
        $ip_login=$empire->fetch1("select count(*) as total from {$dbtbpre}member_log where loginip='$loginip' and status in (4,5,6,7) and logintime between '$start_time' and '$end_time' limit 1");
        $bankurl = 'http://www.baidu.com';
        if($username_login['total']>='5'){
            printerror2('親,你在10分鐘內賬號或密碼錯誤達到5次,請稍后再來嘗試登錄!',$bankurl);
        }
        if($ip_login['total']>='5'){
            printerror2('親,你的ip('.$loginip.')在10分鐘內輸入賬號或密碼錯誤達到5次,請稍后再來嘗試登錄!',$bankurl);
        }
}

3、找到用戶登錄文件:/e/member/class/member_loginfun.php
1)在第6行加入代碼:
        //獲取當前時間和IP
        $loginip=egetip();
        $logintime=time();
2)在第22行用戶賬號或密碼為空的判斷中加入以下代碼(加到第23行下面):
                //用戶賬號或密碼為空在寫入日志
                insert_member_log($userid,$username,$logintime,$loginip,'7',$password);
3)在第39行用戶userid不存在的判斷中加入以下代碼(加到第40行下面):
                //用戶賬號不存在寫入日志
                insert_member_log($r['userid'],$username,$logintime,$loginip,'5',$password);
4)在第45行用戶密碼錯誤的判斷中加入以下代碼(加到第46行下面):
                //用戶賬號密碼錯誤寫入日志
                insert_member_log($r['userid'],$username,$logintime,$loginip,'4',$password);
5)在第51行用戶賬號未通過審核的判斷中加入以下代碼(加到第52行下面):
                //用戶賬號未通過審核寫入日志
                insert_member_log($r['userid'],$username,$logintime,$loginip,'6',$password);
6)在第95行用戶成功登錄后加入以下代碼:
        //用戶賬號登錄成功寫入日志
        insert_member_log($r['userid'],$username,$logintime,$loginip,'1',$password);
7)在第132行用戶退出登錄加入以下代碼:
        //用戶賬號退出網站寫入日志
        //獲取當前時間和IP
        $loginip=egetip();
        $logintime=time();
        $userid=getcvar('mluserid');//會員ID 
        $username=getcvar('mlusername');//會員用戶名
        insert_member_log($userid,$username,$logintime,$loginip,'2',$password);
至此登錄文件修改完畢。

3、找到用戶注冊文件:/e/member/class/member_registerfun.php
1)在第194行后面用戶賬號注冊成功即將轉入會員中心前加入以下代碼:
                //獲取當前時間和IP
                $loginip=egetip();
                $logintime=time();
                //用戶成功注冊賬號后的第一次登錄寫入日志
                insert_member_log($userid,$username,$logintime,$loginip,'3',$password);
                //登錄成功轉入會員中心

4、在/e/member/class/member_loginfun.php,加入以下判斷但是不寫入數據庫。
1)加入一定時間內密碼錯誤多少次無法登錄判斷。
在第38行后面加入以下代碼:
        //10分鐘內登錄錯誤達到5次,請稍后再來登錄
        member_login_error($username,$loginip);
2)異常IP登陸,常用IP登陸判斷。 

上傳以下圖片:
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 南宫市| 滕州市| 金阳县| 永修县| 凌源市| 兴宁市| 炎陵县| 陈巴尔虎旗| 河间市| 德格县| 平安县| 丹寨县| 周宁县| 顺昌县| 遵义县| 尚义县| 盐城市| 福泉市| 克拉玛依市| 大新县| 宁海县| 大埔县| 花垣县| 陆川县| 丹巴县| 安宁市| 余干县| 湘阴县| 武汉市| 平邑县| 德惠市| 临沭县| 昌都县| 凉城县| 通海县| 大荔县| 民权县| 蕲春县| 凌源市| 武功县| 长沙市|