|
|
@@ -3592,9 +3592,25 @@ function write_log($db, $msg, $level = L_INFO, $auth_id = 0)
|
|
|
{
|
|
|
if (!isset($msg)) { return; }
|
|
|
|
|
|
- // Безопасное получение данных сессии
|
|
|
- $currentIp = filter_var($_SESSION['ip'] ?? '127.0.0.1', FILTER_VALIDATE_IP) ?: '127.0.0.1';
|
|
|
- $currentLogin = htmlspecialchars($_SESSION['login'] ?? 'http', ENT_QUOTES, 'UTF-8');
|
|
|
+ // Получаем текущий IP
|
|
|
+ $currentIp = null;
|
|
|
+ if (!empty($_SESSION['ip'])) {
|
|
|
+ $currentIp = filter_var($_SESSION['ip'], FILTER_VALIDATE_IP);
|
|
|
+ }
|
|
|
+ if (!$currentIp && function_exists('get_client_ip')) {
|
|
|
+ $currentIp = filter_var(get_client_ip(), FILTER_VALIDATE_IP);
|
|
|
+ }
|
|
|
+ $currentIp = $currentIp ?: '127.0.0.1';
|
|
|
+
|
|
|
+ // Получаем текущий логин
|
|
|
+ $currentLogin = null;
|
|
|
+ if (!empty($_SESSION['login'])) {
|
|
|
+ $currentLogin = $_SESSION['login'];
|
|
|
+ }
|
|
|
+ if (!$currentLogin) {
|
|
|
+ $currentLogin = getParam('login', null, null) ?: getParam('api_login', null, null);
|
|
|
+ }
|
|
|
+ $currentLogin = htmlspecialchars($currentLogin ?: 'http', ENT_QUOTES, 'UTF-8');
|
|
|
|
|
|
// Для уровня L_DEBUG пишем в error_log
|
|
|
if ($level === L_DEBUG) {
|