"Атака" сервера, при обрыве загрузки картинки.

D
На сайте с 07.11.2000
Offline
219
1116

Тестирую в Хроме в среде разработчика простой скрипт: подгрузка картинок по событию. Часть кода:


<div id="hpic" style='display:none'><h3>Текст</h3>
<img id="pic1" alt="алт" data-src="http://domen.com/pic.jpg"
src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==" />
</div>

<script>
...
var pImg = document.getElementById("pic1");
pImg.onload=function(){document.getElementById("hpic").style.display="block"};
pImg.src = pImg.getAttribute("data-src");
</script>

Ограничиваю Хромом скорость загрузки = 50Кб.

При обрыве в середине загрузки картинки, иногда Хром начинает циклически "бесконечно" грузить эту картинку в фоне (в активности Хрома этого не видно). Обновление страницы и т.д. не помогает. Прекращается только после закрытия вкладки.

В онлайн-активности фаирвола - видно, что "бесконечное" число раз циклически загружает картинку целиком.

Статика отдается nginx. В логе видно тысячи строк с кодом 206.

Проверил также чужие сервера, у стороннего большого хостера (его сервер) - та-же проблема. А вот с картинкой на Яндексе - не смог повторить. Посему, думаю, что какие-то настройки nginx не учел.

adel92
На сайте с 04.01.2012
Offline
334
#1

base64,R0lGODlhAQABA ...... - Это часть что делает ? Удалите это.

---------- Добавлено 14.11.2016 в 22:34 ----------

Вот так останется

src="data:image/gif"

Если я все правильно думаю - то это поможет.

NVMe VDS (https://well-web.net/nvme-vps) с поддержкой 24/7 - от 545 руб.! Безлимитный хостинг (https://well-web.net/ssd-hosting) - от 129 руб.! Домен в подарок! Перенос бесплатно! Заказывайте сейчас, и получите скидку 50%! Заходи! (https://well-web.net/limited-offers)
AGHost
На сайте с 16.11.2011
Offline
115
#2

adel92, век живи - век учись :)

и еще тыц

---------- Добавлено 14.11.2016 в 21:47 ----------

ТС, без ограничения скорости открывается нормально или нет?

---------- Добавлено 14.11.2016 в 21:52 ----------

<div id="hpic" style='display:none'><h3>Текст</h3>

8 лет на рынке услуг хостинга - https://agho.st (https://agho.st)
D
На сайте с 07.11.2000
Offline
219
#3
AGHost:
display:none

При постинге сюда, случайно удалил. Там нормально

---------- Добавлено 14.11.2016 в 23:08 ----------

adel92:
base64,R0lGODlhAQABA ...... - Это часть что делает ? Удалите это.

Прозрачный gif

---------- Добавлено 14.11.2016 в 23:10 ----------

AGHost:
ТС, без ограничения скорости открывается нормально или нет?

Тогда я не успеваю нажать "стоп", чтобы оборвать загрузку картинки в середине. :)

adel92
На сайте с 04.01.2012
Offline
334
#4
AGHost:
adel92, век живи - век учись :)

и еще тыц

---------- Добавлено 14.11.2016 в 21:47 ----------

ТС, без ограничения скорости открывается нормально или нет?

---------- Добавлено 14.11.2016 в 21:52 ----------

<div id="hpic" style='display:none'><h3>Текст</h3>

Действительно, прошу прощения

Узко посмотрел на проблему

Спасибо за замечание и информацию, буду теперь знать)

A
На сайте с 04.11.2007
Offline
89
#5
Dimka:
Тестирую в Хроме ...
Статика отдается nginx. В логе видно тысячи строк с кодом 206.

А первый ответ 200 и полный размер файла? А "disable cache" с галкой зацикливается?

Пытался повторить в хроме 52 на внешний и локальный сервера. Он сразу скачивает картинку одним файлом, в логах 200, а потом "эмулирует тормоза" загрузки. При остановке несколько раз посылает partial, в логах 206, но только с включенным кешем. Если кеш отключить, то один запрос и ответ.

Фикция этот эмулятор скорости. Сдаётся мне, что ещё и глючный.

D
На сайте с 07.11.2000
Offline
219
#6
asteroid:
А первый ответ 200 и полный размер файла? А "disable cache" с галкой зацикливается?

Спасибо, что уделили время тестам. Проверил, зацикливается с галкой и без нее.

D
На сайте с 07.11.2000
Offline
219
#7
asteroid:
Фикция этот эмулятор скорости. Сдаётся мне, что ещё и глючный.

Главное, чтобы проблема была только локальной. Прочти прямоугольный пик ночью на графике - это я периодически тестировал и занимался другой работой, а Хром в фоне отсылал запросы на сервер. Таких 10-20 юзеров и канал забит.

png eth.png

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