Antitop v0.2 beta

Голосування в інтернеті - важлива частина і в багатьох випадках - головний фактор формування вебпроектів. Але для коректності - необхідно піклуватись про безпеку, особливо в випадках, коли в голосуваннях приймають участь анонімні користувачі.

Сьогодні в проекті антитоп - вебсайт http://ukrbash.org


ukrbash.org - національний цитатник. Мова буде йти про нього.

Вітання!

Сьогодні позачерговий випуск проекту AntiTop, і пишу я його по причині великої ефективності коду, який був розміщений в інтернеті завдяки мені та моєму партнеру.

Отже, невеликий графік.

Після спілкування з модератором даного проекту - "на сайт відбувалась ДДОС атака".

Загалом - погоджуся. Хоч і реальною атакою це назвати важко - швидше "дружня атакочка".

Disclaimer

Процедура, обрана для даної події повністю зворотня і робилась після переконання наявності резервної копії. Крім того - в мене є збережені всі дані та статистика "накрутки". Крім того - my.ukrweb.info - постійний читач УкрБашу і даною дією намагається зробити його кращим!



Спочатку трошки прелюдії.

Реалізація голосування - дуже ефективна та важлива частина більшості web2.0 проектів. Вони формуються на основі таких голосувань. Вся їхня структура та суть побудована на голосуваннях та фідбеках. Отже в такому випадку важливим фактором є безпека, бо посягання на голосування можуть повернути проект зовсім в протилежний бік. Скажімо конкурент, для підняття рейтингу свого проекту може завідомо завалити Ваш, опустивши в 0 найцікавіші частини.

На графіку відображено приклад "тупої" накрутки личільників всіх статей з ТОРу. В результаті на арену виходять "нецікаві" низькорейтингові статті, які підсвідомо можуть сформувати в користувачів проекту негативне враження.



Нажаль, на момент публікації статті помилка невиправлена, тому код, який спричиняє таку "бідосю" я опублікую лише після реального "налагодження" роботи.

"Людія"

На протязі 6 годин різноманітні ІР адреси голосували в мінус статті з ТОРу УкрБаша. Нажаль захисту від цього практично не існує, але захист від "дурня" - життєво необхідний, і реалізація цього захисту - за ukrbash.org. Тестування захисту за my.ukrweb.info - завжди допоможемо в цьому.

Рекомендації

  1. Контроль частоти голосувань - обмежити зверху і привязати обмеження до одного ІР
  2. Додати перевірку referrer в момент голосування
  3. Віддачу голоса анонімним користувачем ускладнити додатковим кроком, залежним від випадкових чисел, але мінімально ненавязаним ускладненнями
  4. Реалізувати обробку результатів голосування не одразу, а з невеликою затримкою - скажімо раз в добу, або раз в кілька годин - тоді зміни на вебсайті можна зафіксувати більш чітко і незамітно для користувачів
  5. Ускладнити метод голосування, переробивши його не через GET, а через POST

Висновок

Безпека - це важливо! 

І вивчення сторони взлому - це перший крок до розуміння самої безпеки.



Успіху Вам!

PS

Проект перейшов із стадії альфа в стадію бета.

Для наступних тем сподіваюсь на Ваші пропозиції.



Trackback URL для этого сообщения

http://my.ukrweb.info/ru/trackback/124
Ваш голос: None Оценка (2 votes)

MrGALL аватар

Дякую за

Дякую за тестування мого сайту на міцність ;)
Голосування завжди було проблемним місцем УкрБашу (дуже важко реалізувати голосування для незареєстрованих, захищене від накруток).
Але після вчорашньої "атаки" сайт став більш захищеним (я реалізував частину рекомендацій, а реалізацію інших запланував на майбутнє).

Отправить комментарий

Содержание этого поля является приватным и не предназначено к показу.
  • Every instance heading tags will be modified to include an id attribute for anchor linking.
  • Mark language-dependent sections with == lc == where lc (or lc-xx) is a valid language code. Use qq for all languages.
  • Every instance of "<!--tableofcontents-->" in the input text will be replaced with a collapsible mediawiki-style table of contents. Accepts options for title, list style, minimum heading level, and maximum heading level as follows: <!--tableofcontents list: ol; title: Table of Contents; minlevel: 1; maxlevel: 3;-->. All arguments are optional and defaults are shown.
  • Строки и параграфы переносятся автоматически.

Подробнее о форматировании

CAPTCHA
Дайте ответ на этот простой вопрос
4 + 3 =
Solve this simple math problem and enter the result. E.g. for 1+3, enter 4.

Синдикация материалов

експерименти

Rambler's Top100