myDC.ru

Здравствуйте, гость ( Вход | Регистрация )

 
 
Ответить в данную темуНачать новую тему

> Antisearch, API 2

Рейтинг 5 V
Теги
Нет тегов для показа
Setuper
сообщение 24.2.2011, 22:30
Сообщение #1


RusHub team lead
**************

Группа: Модераторы
Сообщений: 4 030
Регистрация: 20.6.2008
Из: г. Королёв (Моск. обл.)
Пользователь №: 46
Спасибо сказали: 1707 раз




Название скрипта: Antisearch
Версия скрипта: 1.4
Версия API: 2
Автор: Setuper
Требования: Для работы скрипта требуется библиотека MySQL
Описание: Скрипт антипоиска. Скрипт хранит в mysql базе TTH запрещённых файлов.
Скрипт автоматически ищет у пользователей запрещённые TTH и даёт наказания за них.
Наказания могут быть следующих типов:

0 - без действий;
1 - дроп;
2 - кик;
3 - временный бан ника;
4 - временный бан IP;
5 - временный бан ника и IP;
6 - постоянной бан ника;
7 - постоянной бан IP;
8 - постоянной бан ника и IP.

Скрипт имеет меню в поиске и в файл-листах, то есть вводим и ищем в поиске то, что нужно запретить, и через меню одним щелчком добавляем TTH найденного в базу с одновременным наказание пользователя, у которого это нашли. Возможно даже выделить сразу несколько найденных файлов и одним щелчком добавить в бд big_smile.gif

Для того чтобы добавлять TTH в базу нужно чтобы было создано хотя бы одно наказание.
В настройках iDefaultPenaltyId - это id наказания по умолчанию (для менюшки "Быстрое добавление TTH", то есть для добавления в базу TTH с наказанием по умолчанию).


Прежде чем запускать скрипт нужно предварительно настроить базу данных на работу со скриптом:
1) Прописать в скрипте настройки коннекта к базе данных.
2) Создать базу
3) Выполнить запросы, которые находятся в файле Antisearch.sql

Также необходимо в настройках PtokaX указать какой-нибудь не нулевой UDP порт.


Особенностью скрипта является возможность гибкой настройки в mysql прав для юзера, который прописывается в настройках скрипта.
Пользователю mysql, который будет прописан в настройках скрипта достаточно будет дать права: SELECT и EXECUTE. Таким образом мы сохраним целостность базы данных. Делалось это с тем рассчётом, что с одной базой могут работать сразу несколько хабов, и для того чтобы админы хабов не могли ничего менять в базе, но при этом им был доступен полный функционал данного скрипта. Если кому-то не понятно сказанное, то разъясняю: право SELECT даёт право на выполнение запросов на получение данных из бд (select запросов), право EXECUTE даёт возможность на вызов хранимых функций. Все действия по вставке, обновлению и удалению какой-либо информации из бд в скрипте происходят исключительно при помощи хранимых функций.

Из менюшек думаю будут понятны прочие детали скрипта)))
Настраиваем правильно, юзаем и боремся с порнографией big_smile.gif


Прикрепленный файл  Antisearch.rar ( 7.1 килобайт ) Кол-во скачиваний: 109
Go to the top of the page
+Quote Post
DEN 007
сообщение 24.2.2011, 22:41
Сообщение #2


Освоившийся участник
*****

Группа: Пользователи
Сообщений: 276
Регистрация: 23.3.2010
Из: РФ Смоленск
Пользователь №: 6 429
Спасибо сказали: 60 раз




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

А теперь вопрос бан происходит с указанием TTH файлло за который он был забанен?

И как я понимаю если все хранится в mysql, можно создать какуй нить форму к примеру на сайте в которую юзер вобьет данный TTH, а после проверке к примеру модератора он попадет в черный список или создать что бы юзер мог добавлять фейки и т.д. прямо с хаба. (такой скрипт гдето есть на форуме)
Go to the top of the page
+Quote Post
Setuper
сообщение 24.2.2011, 22:47
Сообщение #3


RusHub team lead
**************

Группа: Модераторы
Сообщений: 4 030
Регистрация: 20.6.2008
Из: г. Королёв (Моск. обл.)
Пользователь №: 46
Спасибо сказали: 1707 раз




Нет немного не так. В бане указывается причина из наказания, в принципе в причине наказания можно конечно ввести TTH, однако в таком случае придётся для каждого TTH создавать отдельное наказание. Тут же всё устроено вот как: мы сначала создаём некий список наказаний (вводим тип наказания и причину, которая будет показываться пользователю), а затем при добавлении в базу TTH указываем id какого-то созданного нами наказания. Таким образом, несколько TTH могут быть привязаны к одному наказанию.
Go to the top of the page
+Quote Post
Setuper
сообщение 25.2.2011, 17:05
Сообщение #4


RusHub team lead
**************

Группа: Модераторы
Сообщений: 4 030
Регистрация: 20.6.2008
Из: г. Королёв (Моск. обл.)
Пользователь №: 46
Спасибо сказали: 1707 раз




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

Заменил хранимую функцию as_get_random_tth запросом. Сделал для того, чтобы, не имея доступ к хранимым функциям, можно было делать select запросы в бд (ограничения, позволяющие только получать данные из бд, но не добавлять/обновлять/удалять).

Для оптимизации ввёл кеширование (актуально при завале хаба результатами поиска).


Спасибо сказали:
Go to the top of the page
+Quote Post
mariner
сообщение 25.2.2011, 18:47
Сообщение #5


Местная ТехПоддержка
**********

Группа: Администраторы
Сообщений: 1 874
Регистрация: 18.7.2008
Из: Моск. Обл, г. королев, район Болшево
Пользователь №: 221
Спасибо сказали: 220 раз




А где мой реквест на счет исключений?) И да, при обновлении надо что делать? А то random_tth же должно ускорять нехило все. И еще 2 реквеста от меня было big_smile.gif
Go to the top of the page
+Quote Post
Setuper
сообщение 25.2.2011, 23:25
Сообщение #6


RusHub team lead
**************

Группа: Модераторы
Сообщений: 4 030
Регистрация: 20.6.2008
Из: г. Королёв (Моск. обл.)
Пользователь №: 46
Спасибо сказали: 1707 раз




Цитата
Хотя я до сих пор не понимаю, почему порно нужно банить. Это ж куча файлов, тысячи ттн.

Да хоть миллиарды))) База данных в этом случае резиновая big_smile.gif
Go to the top of the page
+Quote Post
SAG
сообщение 26.2.2011, 7:49
Сообщение #7


Активный участник
***

Группа: Пользователи
Сообщений: 65
Регистрация: 23.9.2009
Пользователь №: 4 532
Спасибо сказали: 1 раз




Цитата(mariner @ 25.2.2011, 22:59) *
.. А ваще могу поднять сервер баз данных у себя и вуаля...

Вот это дело!
Go to the top of the page
+Quote Post
Otshelnik-Fm
сообщение 26.2.2011, 16:32
Сообщение #8


Я коварный Санта Клаус
******

Группа: Пользователи
Сообщений: 523
Регистрация: 4.11.2008
Из: Саратов
Пользователь №: 985
Спасибо сказали: 54 раза




Ещё полезно добавить сюда функционал запрета поиска по ключевым словам как вот тут - помогает с теми кто юзает поиск. и еще чтобы существующий скрипт выдавал админу сообщение что вот у такого-то юзера нашел ххх, но с юзером ничего не делал. Это позволит не обидеть пользователя пока его не "проверят".
Go to the top of the page
+Quote Post
Setuper
сообщение 6.3.2011, 21:07
Сообщение #9


RusHub team lead
**************

Группа: Модераторы
Сообщений: 4 030
Регистрация: 20.6.2008
Из: г. Королёв (Моск. обл.)
Пользователь №: 46
Спасибо сказали: 1707 раз




Версия 1.4

  1. Добавил таблицу профилей, для которых не применяется проверка.
  2. К причине добавил путь к запрещенному файлу (приписывается в скобках к причине наказания).
  3. Сделал переподключение к sql серверу в случае разрыва соединения.
  4. Добавлена отсылка причины дисконнекта (в личку).


Спасибо сказали:
Go to the top of the page
+Quote Post
Fodin
сообщение 4.10.2011, 20:24
Сообщение #10


Участник
**

Группа: Пользователи
Сообщений: 30
Регистрация: 25.7.2008
Пользователь №: 264
Спасибо сказали: 12 раз




Ошибки:
173, 180 SendToUser(tUser, "Не доступа к команде", sHubBot)
209, 215, 231 Punish.PunishExecute(tUser.sNick, iType, sTime, sReason.."(запрещённый файл: "..sFile..")")
Нужен пробел перед открывающей скобкой в строке.
446, 484, 504, 640, 620 SendToUser(tUser, "TTH строки с введённым ID нету в базе ('"..iTthId.."')", sHubBot)
"нет", а не "нету"
699 Добавление TTH с новым наказание
709 Удаление наказание. ВНИМАНИЕ! Будут удалены все TTH с данный наказанием!!!
717 Добавить TTH с одновлеменным применением санкций к нику
770 sMsg = sMsg.."\n\tВсего нарушителей с данным никод в базе: "..iCounts.."\n"

Кроме указания UDP-порта, надо его еще и открыть в файерволе (возможно, еще и пробросить).
Возможно, был бы востребован тип наказания "Предупреждение", где юзер предупреждается в общий чат или в личку. К нему можно добавить функцию автосмены типа наказания на дефолтное для конкретного ТТН после определенного срока (скажем, сутки). Смысл: не все юзеры нарочно качают запрещенные файлы, он может просто лежать в папке, скачанной целиком. Если дефолтное наказание жестокое (бан на пару дней), то имеет смысл сначала юзера предупредить, а через сутки уже банить, если тот не принял меры.
Если планируются апдейты скрипта, наверное, хорошо бы вынести настройки в отдельный файл, чтобы менять только код, а не копипастить настройки. Не решает проблему, если появляются новые настройки.
Может быть, стоит добавить обработку SearchArrival, т.к. при большом кол-ве TTH в базе до нарушителя очередь может дойти не скоро, а у него кто-нибудь по имени может отыскать запрещенный файл и начать качать. При совпадении (после поиска альтернативных источников), принудительно отправляем запрос на поиск этого ТТН у всех и наказываем.
Спасибо за скрипт. Не все очевидно оказалось, но разобрался.
ЗЫ: И лог нарушений! Если стоит бан, вообще никак не узнать, что кто-то нарушил и что именно нарушил. Обычный текстовый (не "У юзера ID найден файл с ID TTH, наказание ID", а "Во столько-то у юзера (Ник) найден файл (Имя). Бан на (время), причина (текст причины))и с возможностью уведомления операторов в личку.
Go to the top of the page
+Quote Post

Ответить в данную темуНачать новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

Collapse

> Похожие темы

  Тема Ответов Автор Просмотров Последнее сообщение
No New Posts Topic has attachmentsAntisearch
7 Saymon21 4 475 13.9.2011, 21:06 Посл. сообщение: ShadoWx
No New Posts От: Antisearch
От темы с ID: 4698
0 Saymon21 1 767 26.2.2011, 20:29 Посл. сообщение: Saymon21

 



RSS Сейчас: 23.9.2018, 18:11