Довольно часто возникают ситуации, когда обычных логов, которые пишет вебсервер, бывает недостаточно. Например ваш сайт взломали, и вы изучаете логи вебсервера с целью нахождения уязвимости вашего сайта. Если точное время взлома известно, то скорее всего в логах вы найдёте скрипт или файл, к которому обращались с POST запросом. Но проблема в том, что вы увидите в логах только файл, а что именно ему передали, видно, к сожалению, не будет. Да и точное время взлома довольно редко известно, поэтому обычно найти дыру на сайте, через которую его взломали, очень непросто.

Поэтому я предлагаю использовать на вашем сайте небольшой скрипт, задачей которого и будет логирование POST запросов. В логе будет подробная информация о том кто, когда, куда и что передал методом POST. Даже не зная примерного времени взлома, заглянув в этот файл лога, вы без труда найдёте в нём информацию о дыре в вашем сайте.

Скрипт можно использовать абсолютно на любом сайте, построенном на любом движке и практически на любом хостинге.

Логированием будет заниматься обычный php скрипт. Его содержимое:

<?
if(isset($_POST) && count($_POST)>0){
        $data="";
        foreach($_POST as $key=>$val){
                if(is_string($val) && strlen($val)>2000 )
                        $val=substr($val,0,2000);
                $data.=$key."=>".$val."\n";
        }
        //вместо /home/user/data/www/ указываем свой путь от корня сервера, куда должен писаться лог
        $fp=fopen("/home/user/data/www/".$_SERVER['HTTP_HOST'].".log","a");
        fwrite($fp,date("Y-m-d H:i:s")." ".$_SERVER['REMOTE_ADDR']."\n".$data."---------------------------\n");
        fclose($fp);
        $data="";
        reset($_POST);
}
?>

Сохраните его как php файл, исправьте в нём путь от корня вашего сервера до папки, в которую вы хотите, чтобы писался лог (папка должна быть доступна на запись вебсерверу), и загрузите этот файл под любым именем (например log.php) на ваш сайт в любое место, можно в корень.

Далее необходимо в файле .htaccess (если его нет, то можно создать) прописать такую строку:

php_value auto_prepend_file /home/user/data/www/site.ru/log.php

где изменить путь и название файла на своё собственное.

После этого при первом же POST запросе к вашему сайту создастся файл лога в той директории, которую вы указали в скрипте, и в него в удобочитаемом виде будет писаться всё содержимое POST запросов к вашему сайту.

Нужна профессиональная удалённая помощь с сервером, сайтом, компьютером или ноутбуком?

Свяжитесь со мной любым удобным для вас способом, и получите её быстро и не дорого.

Обсудить задачу

ВНИМАНИЕ! Файл лога ни в коем случае не пишите в корень вашего сайта. В логе будут содержаться логины и пароли пользователей, которые они будут вводить при авторизации на вашем сайте, и в том числе и ваши логины/пароли, которые попадут в него при вашей авторизации в админке сайта (ведь это тоже передаётся POST запросом). Поэтому файл лога лучше всего писать в директорию, не доступную из веба, то есть например, в ту, которая находится выше корневой директории вашего сайта.

Помогла статья? Поблагодари автора!

Остались вопросы, или есть что добавить? Добро пожаловать в комментарии.

Угостить автора чашечкой кофе

Недавние записи

Яндекс Метрика

Битрикс Веб-окружение и проблемы с Вебвизор Яндекс Метрики из-за заголовка X-Frame-Options

В Битрикс Веб-окружении по умолчанию в настройках Nginx прописан заголовок X-Frame-Options, который...
Подробнее
Массовый взлом сайтов на Битрикс 2023

Массовый взлом сайтов на Битрикс 2023

В последнее время ко мне массово обращаются клиенты с жалобой на взлом...
Подробнее
Битрикс - Резервное копирование по FTP

Битрикс: Веб-окружение — бэкапы на удалённый FTP сервер.

1С-Битрикс: Веб-окружение умеет создавать резервные копии только на тот же сервер, на...
Подробнее
find

Команда Find в Linux — как найти и удалить файлы и папки

Команда find предназначена для поиска файлов и папок в файловой системе Linux....
Подробнее
спам

Exim — мониторинг почтовой очереди для выявления исходящего спама

Очень часто случается так, что на сервере присутствуют сайты с неактуальными версиями...
Подробнее
Архиватор Linux

Как работать с архиваторами в консоли Linux (шпаргалка)

Часто при работе в консоли linux приходится создавать архивы, или наоборот распаковывать...
Подробнее
Логирование POST запросов

Логирование POST запросов к сайту

Довольно часто возникают ситуации, когда обычных логов, которые пишет вебсервер, бывает недостаточно....
Подробнее
Linux изменить текстовый редактор

Как в Linux изменить текстовый редактор по умолчанию

В Linux существует несколько текстовых редакторов. Vim, Nano, Mcedit, и другие. У...
Подробнее
выполнение всех агентов на cron

Битрикс — выполнение всех агентов на cron

В Битрикс по умолчанию агенты выполняются на хитах. То есть триггером для...
Подробнее
GA-H61M-S2PV (rev. 2.1) циклическая перезагрузка

Gigabyte GA-H61M-S2PV (rev. 2.1) циклическая перезагрузка (решено)

Принесли в ремонт компьютер с материнской платой Gigabyte GA-H61M-S2PV (rev. 2.1). Компьютер...
Подробнее
MySQL

Перенос большой базы MySQL, если не достаточно места для дампа

Сегодня при переносе сайта с огромной базой MySQL с одного виртуального сервера...
Подробнее
Telegram MTProto Proxy

Как поднять собственный Telegram MTProto Proxy

MTProto, это специальный протокол разработанный командой Дурова, предназначенный для шифрования трафика мессенджера...
Подробнее
Налог на профессиональный доход

Как стать самозанятым в Беларуси — налог на профессиональный доход

С 1 января 2023 года в Беларуси появился новый налоговый режим -...
Подробнее
фсзн

ФСЗН — узнать свой стаж в Беларуси можно через мобильное приложении

1 февраля 2023 года ФСЗН Беларуси запустил мобильное приложение, с помощью которого...
Подробнее
RustDesk

RustDesk — как получить компьютерную помощь онлайн

RustDesk - новая программа с открытым исходным кодом для удалённого управления устройствами....
Подробнее
Microlab M-800 не включается

Акустика Microlab M-800 не включается — Ремонт

Принесли в ремонт компьютерную акустику Microlab M-800 с диагнозом "не включается". У...
Подробнее
умный бесперебойник с WiFi

Делаем умный бесперебойник с WiFi и подключаем его к умному дому с Алисой

Недавно я рассказывал как можно удалённо включать и выключать свой компьютер через...
Подробнее
перенос сайта на другой сервер через SSH

Быстрый перенос сайта на другой сервер через SSH

Современные сайты и их базы данных могут быть очень большими, и перенос...
Подробнее
Включаем и выключаем компьютер удалённо

Включаем и выключаем компьютер удалённо, или через умный дом.

Иногда бывают ситуации, когда нужно включить или выключить компьютер удалённо. Например, включить...
Подробнее
блокируем вредных ботов

Nginx — блокируем вредных ботов.

В сети существует огромное количество ботов, которые занимаются сканированием сайтов. Некоторые боты...
Подробнее
cron

Cron — переход по ссылке с параметрами в URL

Cron - планировщик в Linux для запуска задач по расписанию. Обычно он...
Подробнее

Contact Form 7 — удаляем значок Google reCaptcha со страниц сайта.

Популярный плагин для создания контактных форм на сайтах под управлением Wordpress, Contact...
Подробнее
MySQL

Автоматическое завершение долгих процессов Mysql

Бывают случаи, когда некоторые запросы Mysql подвисают и выполняются невероятно долго, создавая...
Подробнее

Шпаргалка по командам EXIM

Exim — это агент пересылки сообщений для ОС Linux. В этой шпаргалке,...
Подробнее
подборка полезных программ

Windows — подборка полезных программ.

Небольшая подборка полезных программ, которые я рекомендую к использованию на компьютерах и...
Подробнее
Это приложение не позволяет выключить компьютер

Отключаем уведомление «Это приложение не позволяет выключить компьютер»

При выключении компьютера Windows или при его перезагрузке часто можно встретить, как...
Подробнее

Windows 11 как установить Internet Explorer, как зайти в личный кабинет налоговой и портал ФСЗН

В новой Windows 11 компания Microsoft полностью удалила браузер Internet Explorer, который...
Подробнее

Удалённая компьютерная помощь. Что это и как?

Большинство проблем с вашим компьютером или ноутбуком можно решить удалённо, не выезжая...
Подробнее
Введите текст для поиска...