508 ошибка

12
CY
На сайте с 17.10.2016
Offline
6
2501

Всем добрый вечер.

Не сильна в данной оптимизации.

В общем, последние пару дней при переходе по 2-3 статьям на сайте возникает ошибка 508. Я так понимаю это превышен лимит оперативной памяти. Не могу найти причину. В логах ошибки нет в момент 508 ошибки.

Сайт малопосещаем, статистика дня:

Просмотры 251 +171

Сессии 117

Посетители 104 +88

В среднем онлайн 2

Активных 1

Средняя длительность просмотров 2.5 мин

За последние 24 часа 152

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

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

obius
На сайте с 19.08.2015
Offline
56
#1

Вы сводише меня с ума 🤪 А если подключить php профайлер?

CY
На сайте с 17.10.2016
Offline
6
#2
obius:
Вы сводише меня с ума 🤪 А если подключить php профайлер?

Типа того ☝ вряд ли я смогу исправить код, может проще шаблон сменить. А по водову профайлера их много всяких, вот нашла в поиске www.simplecoding.org/webgrind-udobnyj-interfejs-dlya-analiza-bystrodejstviya-php-skriptov.html мне этот подойдет или вы какой-то другой имели ввиду?

---------- Добавлено 04.11.2016 в 00:23 ----------

И еще в статистике LiveInternet увидела

Для данного сайта зафиксирована попытка

фальсификации статистики

Я ничего не накручиваю. Но, сегодня я несколько раз проверяла севисами скорость сайта. Проводила некоторые измения и делала замеры. Может это повлияло?

CY
На сайте с 17.10.2016
Offline
6
#3

И еще я думаю проблема в том, что у меня шаблон картинки формирует в php файл. И вот когда допустим я смотрю статью одну. То в логах использования у меня фиксируются куча картинок открытых, как бы я все статьи просмотрела на главной.

И еще кто разбирается - в логах ошибок заметила это

198.204.***.170 - - [03/Nov/2016:22:56:05 +0100] "GET /~daycare/assets/elfinder/elfinder.html HTTP/1.1" 404 32068 "-" "-"

198.204.***.170 - - [03/Nov/2016:22:56:06 +0100] "GET /_core/utils/elfinder/elfinder.html HTTP/1.1" 404 32060 "-" "-"

198.204.***.170 - - [03/Nov/2016:22:56:06 +0100] "GET /packages/ahmadazimi/laravel-media-manager/elfinder.html HTTP/1.1" 404 32102 "-" "-"

198.204.***.170 - - [03/Nov/2016:22:56:06 +0100] "GET /modules/tadtools/ckeditor/elFinder/elfinder.html HTTP/1.1" 404 32088 "-" "-"

Запросы вида:

[Thu Nov 03 22:56:05.924300 2016] [lsapi:notice] [pid 61749:tid 140176856471296] [client 198.204.***.170:61684] [host мой домен] Backend log: script not found:<script type="text/javascript"></script>\n

Если верить данным по 2ip, то ip принадлежит провайдеру/организации https://ru.m.wikipedia.org/wiki/Fannie_Mae, Америка, Канзас сити. Я не понимаю как такая фигня в логах оказалась. Он как бы к какому-то скрипту обращается?

На моём сайте таких страниц нет. Версия шаблона была месяц назад обновлена. Может в шаблоне вирус. Хотя проверяла на вредоносный код. Ничего не было найдено.

В LiveInternet у меня постоянно один активный пользователь онлайн. Средняя длительность просмотров 28 минут. Вход в админку закрыт.

obius
На сайте с 19.08.2015
Offline
56
#4

Я в свое время пользовался вот этим профайлером - PHP Quick Profiler.

Попробуем пока обойтись без профайлера. Добавьте в конце index.php:


echo 'Memory used: ' . memory_get_peak_usage() . ' / ' . ini_get( 'memory_limit' );

Может скрипты сожрали всю вашу оперативку :)

По поводу логов:


198.204.***.170 - - [03/Nov/2016:22:56:05 +0100] "GET /~daycare/assets/elfinder/elfinder.html HTTP/1.1" 404 32068 "-" "-"

Методом GET была запрошена страница /~daycare/assets/elfinder/elfinder.html и в ответ было получено 404 ( не найдено ). По поводу "-" "-" это похоже на узерагент и реферер, точнее на их отсутствие ( точнее можно сказать увидев шаблон логирования). То есть данный урл был запрошен скриптом а не узером. Вообще похоже на сканирование на предмет уязвимостей. Ничего страшного, но я бы отдавал 403 посетителям без узерагента, так как даже поисковые боты имеют свой узерагент.

CY
На сайте с 17.10.2016
Offline
6
#5
obius:
Я в свое время пользовался вот этим профайлером - PHP Quick Profiler.

Попробуем пока обойтись без профайлера. Добавьте в конце index.php:

echo 'Memory used: ' . memory_get_peak_usage() . ' / ' . ini_get( 'memory_limit' );

Может скрипты сожрали всю вашу оперативку :)

По поводу логов:

198.204.***.170 - - [03/Nov/2016:22:56:05 +0100] "GET /~daycare/assets/elfinder/elfinder.html HTTP/1.1" 404 32068 "-" "-"


Методом GET была запрошена страница /~daycare/assets/elfinder/elfinder.html и в ответ было получено 404 ( не найдено ). По поводу "-" "-" это похоже на узерагент и реферер, точнее на их отсутствие ( точнее можно сказать увидев шаблон логирования). То есть данный урл был запрошен скриптом а не узером. Вообще похоже на сканирование на предмет уязвимостей. Ничего страшного, но я бы отдавал 403 посетителям без узерагента, так как даже поисковые боты имеют свой узерагент.

Спасибо за понятное разъяснение. На этот сайт производились брутфорс-атаки. Я закрыла вход в админку. Ошибка 508 какими-то вспышками происходит.

А вот по поводу кода его в шаблон темы в index.php вставить?

obius
На сайте с 19.08.2015
Offline
56
#6

Взято с wiki:


508 Loop Detected («обнаружено бесконечное перенаправление»)

отследить бы с чего на чего выполняется перенапровление (редирект) .

А код можно добавить и в шаблон, если шаблонизатор позволяет выполнять php код:


<?php echo 'Memory used: ' . memory_get_peak_usage() . ' / ' . ini_get( 'memory_limit' ); ?>
CY
На сайте с 17.10.2016
Offline
6
#7
obius:
Взято с wiki:

508 Loop Detected («обнаружено бесконечное перенаправление»)

отследить бы с чего на чего выполняется перенапровление (редирект) .

А код можно добавить и в шаблон, если шаблонизатор позволяет выполнять php код:

<?php echo 'Memory used: ' . memory_get_peak_usage() . ' / ' . ini_get( 'memory_limit' ); ?>

Обычно у меня отображается, что обнаружена петля. Ну, это наверно одно и тоже.

Вставила код. Что-то должно измениться или где-то просматриваться.

А еще вопрос, если я шаблон изменю, то перенаправление это типа останется. Оно уже в б/д или это плагины. Где искать?

obius
На сайте с 19.08.2015
Offline
56
#8

Все верно, 508 отдает браузер, и в логи такое не пишется.

В каком месте шаблона добавили, в том и должно отобразится пиковая значение используемой памяти и максимальное.

Редирект может жить например в базе в контенте статьи или в шаблоне по средствам яваскриптов:


<script>
// window.location
window.location.replace('http://www.example.com')
// или
window.location.assign('http://www.example.com')
// или
window.location.href = 'http://www.example.com'
// или
document.location.href = '/path'

// jQuery
$(location).attr('href','http://www.example.com')
// или
$(window).attr('location','http://www.example.com')
// или
$(location).prop('href', 'http://www.example.com')
</script>

или html:


<meta http-equiv="refresh" content="0; url=http://example.com/" />

или php:


header("Location: http://example.com/myOtherPage.php");
или
header("Refresh:0; url=page2.php");

А так же средствами apache (.htaccess) или nginx. Так что перенаправление может быть где угодно.

CY
На сайте с 17.10.2016
Offline
6
#9

Вы меня прям напугали. В теле статьи вряд ли могут быть. Я часто в старые статьи вставляю ссылки на новые. htaccess правлю часто ничего нет. Сайт на apache сейчас. Но, 508 стала возникать при брутфорс-атаках еще на другом хостинге. Вообще всё проблемы с сайтом стали возникать на предыдущем хостинге. Ну, и до этого стоял другой шаблон.

Значит либо шаблон, либо база данных.

А вот во всех кодах, которые вы дали есть ссылка на сайт www.example.com там всегда только этот сайт? Или могут быть другие?

obius
На сайте с 19.08.2015
Offline
56
#10

Во всех примера может быть указан любой относительный или абсолютный урл.


// абсолютный с протоколом
header("Refresh:0; url=http://site.ru/request_uri");
// абсолютный урл протокола независимый
header("Refresh:0; url=//site.ru/request_uri");
// относительный
header("Refresh:0; url=/request_uri");
12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий