首页 问答 正文

如何在WordPress中添加登录日志

注册会员 / 悠然自学 / 2023-06-11/ 浏览 49 次

在WordPress中添加登录日志可以使用以下示例代码:

function add_login_logs($log, $username, $ip){
    $log_file = WP_CONTENT_DIR . '/login-logs.txt'; //定义日志文件路径
    $log_time = current_time('mysql'); //获取当前时间
    $log_content = "{$log_time} {$username} {$ip} {$log}n"; //拼接日志内容
    file_put_contents($log_file, $log_content, FILE_APPEND); //写入日志文件
}

function login_logs($user_login, $user){
    $log = 'logged in'; //登录成功日志
    $username = $user->user_login; //获取用户登录名
    $ip = $_SERVER['REMOTE_ADDR']; //获取用户IP地址
    add_login_logs($log, $username, $ip); //写入日志文件
}

function failed_login_logs($username){
    $log = 'failed to login'; //登录失败日志
    $ip = $_SERVER['REMOTE_ADDR']; //获取用户IP地址
    add_login_logs($log, $username, $ip); //写入日志文件
}

add_action('wp_login', 'login_logs', 10, 2); //添加登录成功记录
add_action('wp_login_failed', 'failed_login_logs', 10, 1); //添加登录失败记录 

以上代码使用add_action函数添加了两个回调函数,wp_login和wp_login_failed,用于记录成功和失败的登录尝试。在函数中,我们使用file_put_contents函数将日志写入login-logs.txt文件中,包括时间戳、用户名、IP地址和日志类型。

需要注意的是,为了使上述代码工作,需要确保WordPress安装目录的wp-content目录有合适的读写权限,以便能够写入login-logs.txt文件。

返回格式:

在WordPress中添加登录日志可以使用以下示例代码:

```php
function add_login_logs($log, $username, $ip){
    $log_file = WP_CONTENT_DIR . '/login-logs.txt'; //定义日志文件路径
    $log_time = current_time('mysql'); //获取当前时间
    $log_content = "{$log_time} {$username} {$ip} {$log}n"; //拼接日志内容
    file_put_contents($log_file, $log_content, FILE_APPEND); //写入日志文件
}

function login_logs($user_login, $user){
    $log = 'logged in'; //登录成功日志
    $username = $user->user_login; //获取用户登录名
    $ip = $_SERVER['REMOTE_ADDR']; //获取用户IP地址
    add_login_logs($log, $username, $ip); //写入日志文件
}

function failed_login_logs($username){
    $log = 'failed to login'; //登录失败日志
    $ip = $_SERVER['REMOTE_ADDR']; //获取用户IP地址
    add_login_logs($log, $username, $ip); //写入日志文件
}

add_action('wp_login', 'login_logs', 10, 2); //添加登录成功记录
add_action('wp_login_failed', 'failed_login_logs', 10, 1); //添加登录失败记录 

以上代码使用add_action函数添加了两个回调函数,wp_loginwp_login_failed,用于记录成功和失败的登录尝试。在函数中,我们使用file_put_contents函数将日志写入login-logs.txt文件中,包括时间戳、用户名、IP地址和日志类型。

需要注意的是,为了使上述代码工作,需要确保WordPress安装目录的wp-content目录有合适的读写权限,以便能够写入login-logs.txt文件。

 
大家谈论
    我的见解