首页 » PHP笔记 » destoon二次开发会员登录日志功能

destoon二次开发会员登录日志功能

高蒙 2015/12/31 23:06 2.3k浏览 0评论 DestoonCMS


在开发过程中遇到一个新的问题,就是会员的登录日志。destoon系统内置了后台管理员的登陆日志,在查看系统的时候额发现了destoon也预留了会员登录日志的表(destoon_login)。
可是,我在后台设置中找了一边也没有找到相应的设置,可能我没有仔细的找到。于是,我就直接追踪代码,下面是记录整个过程。
 
前台登录处理文件
文件路径:module/member/login.inc.php
 
$user = $do->login($username, $password, $cookietime);
 
代码的后面加上:
 
$do->login_log($username, $password, $user['passsalt'], 0);
 
在处理登陆日志的时候,调用的系统文件
文件路径:module/member/member.class.php
 
使用的函数:login_log() 如下:
 
function login_log($username, $password, $salt, $admin = 0, $message = '') {
 global $DT_TIME, $DT_IP, $L;
 $password = dpassword($password, $salt);
 $agent = addslashes(dhtmlspecialchars(strip_sql($_SERVER['HTTP_USER_AGENT'])));
 $message or $message = $L['member_login_ok'];
 if($message == $L['member_login_ok']) cache_delete($DT_IP.'.php', 'ban');
 $this->db->query("INSERT INTO {$this->db->pre}login (username,password,passsalt,admin,loginip,logintime,message,agent) 
                   VALUES ('$username','$password','$salt','$admin','$DT_IP','$DT_TIME','$message','$agent')");
}
 
拓展:上面的方法,实现的效果是不管是企业、个人还是vip都记录登陆日志。
            如果只想保存vip会员和企业会员的登录日志。那么可以加上一个判断条件。
 
if($user['groupid'] == 6 || $user['groupid'] == 7) 

 $do->login_log($username, $password, $user['passsalt'], 0);
 
destoon_login 登陆日志表
 
表中的字段包括如下(不同版本有差异):

logid    ID 
username 会员名 
password 登录密码 
admin    是否登录后台 
loginip  登录ID 
logintime登录时间 
message  登录结果 
agent    客户端

 

前端处理程序修改:

文件地址:/module/member/login.inc.php

可以注释掉下面的代码:

$r['password'] = substr($r['password'], 0, 10).'************'.substr($r['password'], 20);

前端显示的页面:

文件地址:/module/member/admin/template/loginlog.tpl.php

将密码替换成公司名

1.jpg




相关文章

我有话说

站长昵称:(*)

输入内容:

选个头像:

评论列表

    ...

    高蒙

    男, PHP程序猿

    文章

    484

    标签

    41

    热度

    10w+

    南京, 江苏, 中国

    人生要是没有理想, 那跟咸鱼有什么分别。