Супербан для чата. Возможно ли?

mychatik

Support
Команда форума
Регистрация
26.05.15
Сообщения
478
Реакции
387
Баллы
63
Веб-сайт
mychatik.ru
Все знают, что баны в чате очень неэффективны. А многие - в современных браузерах вообще не работают.
А работающие - даже начинающие "хакерочки" с лёгкостью обходят. И портят нервы всему АС...

Я нашёл довольно интересную фишку - evercookie. Evercookie — самые устойчивые куки
Samy Kamkar разработал систему, которая позволяет хранить куки в 8 местах, автоматически восстанавливая друг друга, и даже добиться того, чтобы куки, поставленное в одном браузере, действовало и в другом.
Удалить это куки практически невозможно! (Всё возможно, конечно, но слишком много мороки)

Куки хранятся в:
  • HTTP Cookies;
  • Local Shared Objects (Flash);
  • Сохранение куки в значениях RGB автосгенерированных и форсированно кэшированных PNG с использованием HTML5 canvas;
  • Сохранение куки в Web History;
  • HTML5 Session Storage;
  • HTML5 Local Storage;
  • HTML5 Global Storage;
  • HTML5 Database Storage через SQLite.

При удалении из одного из этих мест кука автоматически восстанавливается из оставшихся. Работает даже если пользователь сменит браузер (через Local Shared Objects из Flash).
Для меня эта тема - тёмный лес...
Может кто-то сможет ввести эти куки в чат и на их базе создать бан?

Также наткнулся в сети на обсуждение темы супербана, который нельзя обойти. Даже для спецов. Бан работает комплексно, включая доступные параметры самого компа (расширение экрана монитора и т.д.).
При изменении одного (а может и нескольких) параметров (IP, ID, ника...) и при совпадении остальных - изменённые параметры автоматически попадают в бан тоже.
Этот бан установлен на сервисе форумов. Там пытались его выдрать - но не вышло. Он зашифрован и привязан к серверу.
Тоже интересная фишка, но, наверное, будет реализовать в чате намного сложнее, чем через evercookie...
 
Последнее редактирование:

mychatik

Support
Команда форума
Регистрация
26.05.15
Сообщения
478
Реакции
387
Баллы
63
Веб-сайт
mychatik.ru
mychatik, а средствами php это реально реализовать? Я очень далек от этого всего, поэтому и спрашиваю
Это вопрос больше для Rain ...
Я сам не спец в программировании. Учусь сам, изучая чат.
Куки и всё связанное с ними, для меня пока - тёмный лес...
Тем более, когда статья по теме - на английском: Samy Kamkar - evercookie - virtually irrevocable persistent cookies
Но то, что я понял - всё сделано там на javascript, что, по идее, не должно быть проблемой для чата.
Может, конечно, ошибаюсь. Поэтому и выложил сюда, только как интересную идею для реализации. Чтобы спецы оценили и, возможно, создали на этой основе очень нужный бан.
 
Последнее редактирование:

Майор

Администратор
Команда форума
Регистрация
04.09.14
Сообщения
2.832
Реакции
1.939
Баллы
113
ну будем ждать его ответа. Когда-то давно я задавал такой вопрос человеку под ником SaNek
Тогда это было невозможно.
 
Последнее редактирование:

mychatik

Support
Команда форума
Регистрация
26.05.15
Сообщения
478
Реакции
387
Баллы
63
Веб-сайт
mychatik.ru
ну будем ждать его ответа.
Конечно подождём!
Когда-то давно я задавал такой вопрос человеку под ником SaNek
Тогда это было невозможно.
Это было давно :)
И может и не невозможно было, а просто не пришёл в голову способ реализации идеи...
Да и про эти evercookie, наверное, мало кто слышал - разработка только от 20/09/2010.

В коментах пишут:
из под хрома в убунте 1404 в режиме инкогнито виснет комп
Ну и пусть виснет. Нечего инкогнито по чатам ходить :)))
И вообще, в "приватном" режиме браузеров evercookie не работает.
Но ведь можно сделать отслеживание такого режима и не пускать под ним в чат:

PHP:
<?php if(!isset($_GET["cookie"])) { // устанавливаем cookie с именем "test" setcookie("test", "1"); header("Location: ".$_SERVER["PHP_SELF"]."?cookie=1"); } else { if(!isset($_COOKIE["test"])) { echo "<p>Для идентификации Вам необходимо включить cookies</p>"; echo "<a href='".$_SERVER["PHP_SELF"]."'>Продолжить</a>"; } else { // cookie включены, переходим на нужную страницу header("Location: http://адрес_чата.ru"); } }
?>

Как я вижу реализацию алгоритма СуперБана:

В принципе, бан по cookie в составе Хеш-бана есть. Нужно только заменить его на evercookie, или сделать отдельно (что предпочтительнее).
Далее, делаем чекбокс "Проверять cookies" в admin/moderators.php.
Сразу ставим в нём вручную галку только для заведомо "ненадёжных" юзеров. При выдаче бана по evercookie - галка ставится автоматически, если её не было. После окончания бана - остаётся (можно снять только вручную).
* Если галки нет - юзер заходит, как и раньше (хоть в обычном, хоть в приватном режиме браузера). Его не проверяем.
* Если галка стоит - проверяем наличие cookie на компе.
* Если оказывается, что cookies у контролируемого отключены (приватный режим браузера, или ещё что) - в чат не пускаем (вне зависимости, есть бан, или нет), а выдаём сообщение, что нужно включить cookies.
* Если не хочет включать - в чат не войдёт.
* Если включил - проверяем наличие бана на cookie. Если на ней нет бана - пускаем в чат, если есть бан, соответственно - не пускаем.

В итоге, если юзер забанен - в чат он войти не сможет.
При смене ника, браузера, очистке cookies - evercookie остаются и бан продолжает работать, вне зависимости от наличия галки "Проверять cookies", так как в момент бана cookie были включены и записались.
Теперь троллю нужно будет посидеть, почистить всё ручками. А это всё - время...
И не факт, что он сразу додумается, что нужно сделать. Если всё-таки додумается, новый вход - новый бан. И иди чиститься по-новой.
Для многих этого будет достаточно, чтобы уйти вообще и пойти туда, где такого бана нет.

Но есть небольшой нюанс, который нужно продумать...
Если изначально юзер был "вне подозрений", поэтому галка "Проверять cookies" не была установлена, а cookies в браузере не были включены и не проверены - то бан не сработает.
Но, при попытке дать бан - сразу установится галка "Проверять cookies". Далее выбрасываем юзера из чата любым способом. Потом без проверки cookies он уже не войдёт.
Но, это только, если он снова пойдёт под своим ником. Если сменит ник - то на новом галки не будет - и снова бан не сработает.
В качестве решения проблемы, возможно добавить в бан ещё какой-то параметр для идентификации.
Или устанавливать автоматически галку всем незареганым и вновь зареганым.
А после определённого срока общения, чтобы она снималась тоже автоматически, если только юзер не имел за это время бана по evercookie.
Ну, или снимать тогда вручную с тех, кто без подозрений...
 
Последнее редактирование:

Rain

Администратор
Команда форума
Регистрация
04.09.14
Сообщения
367
Реакции
321
Баллы
63
Возраст
29
Да я читал об этих куках. Хороший способ, но достаточно один раз заюзать CCleaner - и вся защита отвалится )

P.S. Супербана в веб-пространстве нет и не будет. Более-менее надежный способ бана - по MAC-адресу сетевухи, что для веба не доступно.
 

mychatik

Support
Команда форума
Регистрация
26.05.15
Сообщения
478
Реакции
387
Баллы
63
Веб-сайт
mychatik.ru
Да я читал об этих куках. Хороший способ, но достаточно один раз заюзать CCleaner - и вся защита отвалится )
А пробовали? В коментах никто не пишет, что CCleaner чистит эти куки.
P.S. Супербана в веб-пространстве нет и не будет. Более-менее надежный способ бана - по MAC-адресу сетевухи, что для веба не доступно
Ясно, что Супербана, как и полной защиты страницы от копирования существовать не может. Всё можно обойти.
А MAC-адрес сетевухи виден только для Ethernet (локальной сети), и только до ближайшего шлюза, потом тот заменяет их своим.

Но самый лучший бан - это новый бан, с которым ещё не сталкивался. :)

Вот ещё нарыл такой бан: Хоттабыч | Статьи от хакеров - СуперБан - как с ним бороться
В нём вычисляются установленные компоненты системы (около 30 штук), в том числе такие параметры, как разрешение экрана и глубина цвета, которые используются в составе ключа.

Результирующий ключ имеет такой вид (для условной машины):
-20/1024/768/32/modem/ru/ru/uk/13753804173137646
и включает в себя следующие элементы:
код региона (-20)
разрешение экрана (1024/768)
глубина цвета (32)
тип соединения (modem)
языки, установленные в системе (ru/ru/uk)
уникальный ключ версий компонент системы (13753804173137646)

Далее, если от пользователя поступает запрос, в котором присутствует либо забаненый IP, либо забаненый уникальный ключ, то система не разрешает доступ а IP и ключ снова заносятся в бан-лист (если один из них изменился). Кроме того, уникальный ключ передается как через поле Statistic формы, так и запоминается и пересылается серверу в куках. Таким образом, происходит защита от возможного изменения пользователем параметров своей машины (например изменения разрешения экрана).

А, если ещё его совместить с evercookie?
Я так думаю, что его эффективность будет выше, чем самого "крутого" чатовского Хеш-Бана.
Хотя-бы из-за его новизны для чатов и незнания троллями что это за бан применён.
 
Последнее редактирование:
Сверху Снизу