#file #session #server
#файл #сессия #сервер
Вопрос:
Я столкнулся с необычной проблемой с моим веб-сайтом php (7.3), создающим огромное количество нежелательных файлов сеансов на сервере каждую минуту (около 50-100 файлов), и я заметил, что все они имеют фиксированный размер 125K или 0K в файловом менеджере cPanel, количество индексных индексов неконтролируемо увеличивается до тысяч за несколько часови более ста тысяч в день; где, поскольку на моем веб-сайте действительно небольшой трафик — менее 3 тыс. в день, и поисковик Google на вершине. Я отрицаю всех плохих ботов в .htaccess.
Я могу контролировать ситуацию с помощью команды cron, которая выполняется каждые шесть часов, очищая все файлы сеансов старше 12 часов из / tmp, однако это не идеальное решение, так как большое количество поддельных файлов сеансов съедает все мои серверные ресурсы, такие как ОЗУ, процессор и, самое главное, хранилище, которое раздувается, влияя наобщая производительность сайта.
Я открыл многие из таких файлов для проверки, но обнаружил, что они не связаны ни с одним действительным пользователем, поскольку я добавляю идентификатор пользователя, имя, адрес электронной почты в сеанс после успешной аутентификации. Даже если предположить, что сеанс создается для каждого посетителя (без учетной записи / входа), он не должен превышать 3K в день, но количество сеансов достигает 125.000 всего за день. Не удалось выяснить проблему.
Я просмотрел соответствующие сообщения и сделал проверки, такие как добавление IP и UserAgent в сеансы, чтобы отслеживать подозрительный мониторинг сервера, сканирование ботов, подавляющие действия прокси, но безуспешно! Я также могу подтвердить, просмотрев их временные метки, что при их создании не было активности человека или сканера. Вы можете видеть файлы, создаваемые каждую минуту без перерыва в течение дня !!.
Пока не нашел никаких подсказок, чтобы выяснить основную причину этого странного поведения, и высоко ценю любую помощь в устранении этой проблемы! К сожалению, команда сервера не смогла сильно помочь, но добавила cron для очистки. Вставка ниже содержимого файлов примеров сеансов:
Размер 0K> favourites|a:0:{}LAST_ACTIVITY|i:1608871384
Размер 125 КБ> favourites|a:0:{}LAST_ACTIVITY|i:1608871395;empcontact|s:0:"";encryptedToken|s:40:"b881239480a324f621948029c0c02dc45ab4262a";
Допустимый Ex.File1> favourites|a:0:{}LAST_ACTIVITY|i:1608870991;applicant_email|s:26:"raju.mallxxxxx@gmail.com";applicant_phone|s:11:"09701300000";applicant|1;applicant_name|s:4:Raju;
Допустимый Ex.File2> favourites|a:0:{}LAST_ACTIVITY|i:1608919741;applicant_email|s:26:"raju.mallxxxxx@gmail.com";applicant_phone|s:11:"09701300000";IP|s:13:"13.126.144.95";UA|s:92:"Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:82.0) Gecko/20100101 Firefox/82.0 X-Middleton/1";applicant|N;applicant_name|N;
Ответ №1:
Мы обнаружили, что проблема возникла после изменения версии PHP хост-сервера с 5.6 на 7.3. Однако мы заметили нежелательные подавляющие файлы сеансов, не созданные на PHP 7.0! Это та же кодовая база, которую мы тестировали на трех версиях. Публикация этого, поскольку это может помочь другим, столкнувшимся с подобной проблемой из-за изменений версии PHP.