"Как повысить траффик на сайт с помощью контеста на CF" или "Вред и польза от картинок в комментариях и постах".

Revision ru6, by Proventus, 2019-01-09 15:17:57

Продолжая ковырять CF(мой прошлый пост), я вспомнил про возможность вложения картинок в посты и комментарии. Первой моей мыслью было — "Откуда codeforces.com их берёт?". Варианта было два — сохраняет на свой сервер, либо делает запрос по url. Выложив на бесплатный хостинг тестовую картинку и прикрепив её к посту, а потом удалив с сайта, я увидел, что изображение пропало. Из этого, я сделал вывод, что картинки берутся из url. Написав небольшой скрипт, который обычно используется для ловли cookie, я начал тест. Создав пост с url картинки, который указывал на мой скрипт с параметром GET cook=test(в этот момент файл на сервере содержал "reset"), и попробовав предпросмотр поста — файл на сервере переписался на "test". Получилось! Эта особенность позволяет нам, к примеру считать количество просмотров на посте.

Пример такого счётчика:

Количество просмотров(перезагрузки страниц и дубликаты картинок тоже считаются)

Однако, это может использоваться в дурных целей — например организации DDoS. Злоумышленник может создать коментарий к разбору задач с 10-20 картинками. Тогда, произойдёт (КоличествоОткрывшихРазбор * КоличествоКартинок)(примерно 30000) запросов на серевер.

Буду рад замечаниям и исправлением, как грамматических, так и технических ошибок.

Tags баг, #codeforces, изображение

History

 
 
 
 
Revisions
 
 
  Rev. Lang. By When Δ Comment
ru8 Russian Proventus 2019-01-10 15:12:09 18 Возвращено к ru6
ru7 Russian Proventus 2019-01-09 15:39:17 18 Мелкая правка: 'unter.php)\n\n[Коли' -> 'unter.php)(Картинка-счётчик)\n\n[Коли'
ru6 Russian Proventus 2019-01-09 15:17:57 863
ru5 Russian Proventus 2019-01-09 14:30:06 66 (опубликовано)
ru4 Russian Proventus 2019-01-09 14:27:05 16 Мелкая правка: 'в поста.\n![Именно' -> 'в поста.\n\n![Именно'
ru3 Russian Proventus 2019-01-09 14:23:44 342
ru2 Russian Proventus 2019-01-09 13:14:48 41
ru1 Russian Proventus 2019-01-09 13:02:27 1241 Первая редакция (сохранено в черновиках)