Я регистрирую IP-адреса посетителей моего веб-сайта вместе с некоторой другой информацией ($ content) с помощью php, чтобы я мог подсчитать количество посетителей.
Я использую следующий код:
<?php
public static function logContent(array $content = null){
try {
$myFile = fopen("visitors.txt", "a");
$txt = "IP: ";
if (isset($_SERVER['HTTP_CLIENT_IP']))
$ipAddress = $_SERVER['HTTP_CLIENT_IP'];
else if (isset($_SERVER['HTTP_X_FORWARDED_FOR']))
$ipAddress = $_SERVER['HTTP_X_FORWARDED_FOR'];
else if (isset($_SERVER['HTTP_X_FORWARDED']))
$ipAddress = $_SERVER['HTTP_X_FORWARDED'];
else if (isset($_SERVER['HTTP_FORWARDED_FOR']))
$ipAddress = $_SERVER['HTTP_FORWARDED_FOR'];
else if (isset($_SERVER['HTTP_FORWARDED']))
$ipAddress = $_SERVER['HTTP_FORWARDED'];
else if (isset($_SERVER['REMOTE_ADDR']))
$ipAddress = $_SERVER['REMOTE_ADDR'];
else
$ipAddress = 'UNKNOWN';
$txt .= $ipAddress;
$txt .= " Time: " . date("Y-m-d h:i:s", time());
$txt .= "\n";
if (!empty($content) && is_array($content)) {
foreach ($content as $k => $v) {
$txt .= "$k : ";
$txt .= $v;
$txt .= "\n";
}
$txt .= "\n";
}
fwrite($myFile, $txt);
fclose($myFile);
} catch (\Exception $e) {
}
}
?>
Этот код работает нормально. Обычно у меня есть такие записи, как показано ниже:
IP: 36.80.227.XX Time: 2020-06-19 08:23:52
IP: 191.252.61.XX Time: 2020-06-19 11:25:02
IP: 191.252.61.XX Time: 2020-06-19 11:25:02
Но недавно в моем журнале появилась следующая запись:
IP:} __ test | O: 21: "JDatabaseDriverMysqli ": 3: {s: 2:" f c "; O: 17:" JSimplepieFactory ": 0: {} s: 21:" \ 0 \ 0 \ 0disconnectHandlers "; a: 1: {i: 0; a: 2: {i: 0; O: 9: "SimpleP ie": 5: {s: 8: "sanitize"; O: 20: "JDatabaseDriver Mysql": 0: {} s: 8: "feed_url"; s: 56: "d ie (md5 (DIRECTORY_SEPARATOR)); JFactory :: getConfig (); exit"; s: 19: "cache_name_function"; s: 6: "assert"; s: 5: "cache"; b: 1; s: 11: "cache_class"; O: 20: "JDatabaseDriver Mysql": 0: {}} i: 1; s: 4: "init";}} s: 13: "\ 0 \ 0 \ 0connection"; b: 1;} ���� Время : 2020-06-19 11: 27: 37
Это какая-то вредоносная инъекционная атака, похожая на MySQL инъекция, используемая против Java?
Нужно ли мне искать что-нибудь подозрительное и исправлять мой Apache сервер для повышения безопасности?