10:15
ОбновитьСмайлыУправление мини-чатом
МИНИ-ЧАТ
Главная страница!

 



 
          





Рекомендуем:





Последние Файлы GTA 4 Последние Файлы GTA-MP Реклама
Скрипт GTA 4 элементы Watch... 07.09.2014
Ferrari 360 Spider [EPM con... 13.12.2013
Porsche Cayenne Turbo 2012 ... 13.12.2013
Shelby Terlingua Mustang v1... 13.12.2013
Hamann Lamborghini Gallardo... 27.10.2013
[GM] The Big PEN1:LS v2.00 ... 04.12.2017
Dgun (AvnanceRP,SampRP,Dimo... 19.03.2016
SAMP скрипт SX Events (MySQ... 03.03.2016
Карта ASL мэрия для SAMP се... 03.03.2016
AIM для SA-MP 0.3.7 22.02.2016
  • Страница 1 из 3
  • 1
  • 2
  • 3
  • »
Модератор форума: Alcoholik  
Как защитить сервер от атак ботами?
AVANGARDДата: Вторник, 01.04.2008, 06:03 | Сообщение # 1
Уверенный в себе
Группа: Продвинутые
Сообщений: 197
Награды: 3
Город: Омск
Репутация: 51
Замечания: 0%
Статус:
Вчера просматривая логи сервера наткнулся на такой факт как атака ботами! 10 пользователей с разными никами с одного IP зашли в одно и то же время... Как можно от этого защититься?


Респект пацанам из SAMP!
наш сайт http://www.joylife.ru/
[FS] ButtonEditor
[GM] BattleField2[changemap]
В разработке:
[FS] NEW_Alkatras
RockStarGamerДата: Вторник, 01.04.2008, 06:05 | Сообщение # 2
Долгожитель
Группа: Продвинутые
Сообщений: 1604
Награды: 1
Город: New York city
Репутация: 60
Замечания: 0%
Статус:
Пинг-контроль, боты будут кикатся за свой большой пинг или просто добавить имена ботов чёрный список, забанив их по нику
AVANGARDДата: Вторник, 01.04.2008, 06:40 | Сообщение # 3
Уверенный в себе
Группа: Продвинутые
Сообщений: 197
Награды: 3
Город: Омск
Репутация: 51
Замечания: 0%
Статус:
Хы нет нужно наверное что то типа запрета на множественный вход сиодного IP... займусь таковым скриптом!


Респект пацанам из SAMP!
наш сайт http://www.joylife.ru/
[FS] ButtonEditor
[GM] BattleField2[changemap]
В разработке:
[FS] NEW_Alkatras
RockStarGamerДата: Вторник, 01.04.2008, 06:49 | Сообщение # 4
Долгожитель
Группа: Продвинутые
Сообщений: 1604
Награды: 1
Город: New York city
Репутация: 60
Замечания: 0%
Статус:
А смысл ? ники ботов не меняются :)
DeXt3RДата: Вторник, 01.04.2008, 13:41 | Сообщение # 5
Местный
Группа: Продвинутые
Сообщений: 748
Награды: 1
Город: hz
Репутация: 14
Замечания: 0%
Статус:
Боты пролетают по пинг лимиту. А на серверах русхоста еще и антибот стоит ;]
AVANGARDДата: Среда, 02.04.2008, 05:13 | Сообщение # 6
Уверенный в себе
Группа: Продвинутые
Сообщений: 197
Награды: 3
Город: Омск
Репутация: 51
Замечания: 0%
Статус:
Сделаю свой антибот! :)


Респект пацанам из SAMP!
наш сайт http://www.joylife.ru/
[FS] ButtonEditor
[GM] BattleField2[changemap]
В разработке:
[FS] NEW_Alkatras
DarkByteДата: Среда, 02.04.2008, 05:49 | Сообщение # 7
Долгожитель
Группа: Продвинутые
Сообщений: 1577
Награды: 7
Город: Челябинск
Репутация: 182
Замечания: 0%
Статус:
Quote (AVANGARD)
Хы нет нужно наверное что то типа запрета на множественный вход сиодного IP... займусь таковым скриптом!

Quote (AVANGARD)
Сделаю свой антибот! :)

Зачем изобретать велосепед? Поищи на форуме, я выкладывал скрипт собственного производства, банит тех кто заходит с одого айпи >1 раза crazy



MusicSig vkontakte - расширение функционала ВКонтакте для Google Chrome
XAOCДата: Среда, 02.04.2008, 07:13 | Сообщение # 8
Советчик
Группа: Разработчики
Сообщений: 1190
Награды: 11
Город: Гдета там>>
Репутация: 311
Замечания: 0%
Статус:
мой UAS так-же отлично справляется с ботами)
EKupДата: Среда, 02.04.2008, 09:06 | Сообщение # 9
Освоившийся
Группа: Продвинутые
Сообщений: 75
Награды: 2
Город: Ульяновск
Репутация: 10
Замечания: 0%
Статус:
В начало OnPlayerConnect(playerid):
Code

new name[30], ip2[30], ip[30], tmp[256];
const MaxPlayersWith_1_IP = 2;
GetPlayerIp(playerid, ip2, sizeof(ip2));
GetPlayerName(playerid, name, sizeof(name));
new numIPs = 0;
for(new i=0; i<MAX_PLAYERS; i++)
     if(IsPlayerConnected(i) && (i!=playerid))
     {
          GetPlayerIp(i, ip, sizeof(ip));
          if(strcmp(ip, ip2) == 0)
          {
                numIPs++;
                if(numIPs >= MaxPlayersWith_1_IP)
                {
                        format(tmp, sizeof(tmp), " Игрок %s, был забанен, тк его ип(%s) совпал с ип %d игроков на сервере. Подозрение на ботов", name, ip2,MaxPlayersWith_1_IP);
                        SendClientMessageToAll(COLOR_ORANGE, tmp);
                        BanEx(playerid, " Подозрение на атаку ботов");                
                        return 0;
                }
          }
}

в данном случае с 1 ип разрешено играть максимум двум игрокам. Если надо сделать больше или меньше - меняй MaxPlayersWith_1_IP



Текущая версия ERPG GM: 2.7.0 RC1(03.10.2009)
http://3val.ru/games/samp/changelistServ.php


Сообщение отредактировал EKup - Среда, 02.04.2008, 09:07
dura4okДата: Среда, 02.04.2008, 17:23 | Сообщение # 10
Постоялец
Группа: Продвинутые
Сообщений: 357
Награды: 1
Город: Cеверодонецк
Репутация: 24
Замечания: 0%
Статус:
Да не парьтесь))) прога для запуска ботов одна. в ней 16 статических ников. просто пишется функция чека имени и кика и вставляется в OnPlayerConnect. боты сами по себе не страшны, только чат засоряют.

Добавлено (02.04.2008, 11:21)
---------------------------------------------
http://forum.sa-mp.com/index.php?topic=49525.msg364654#msg364654

не без моего участия crazy lol но у себя я немного по-другому сделал, еще первый вариант. только если вас бомбят из подсетки и вы не хотите заглушить всю подсеть, смените Ban на Kick

Добавлено (02.04.2008, 11:36)
---------------------------------------------
и еще. чтобы чат не засирало надписями типа "Carl зашел на сервер" "Carl покинул сервер"
- введите глобальную переменную new isbot[MAX_PLAYERS];
- в public CheckName(playerid) после идентификации бота добавьте isbot[playerid] = 1;
- в OnPlayerConnect в начале будет CheckName(playerid) за ним добавьте if(isbot[playerid] ==1) {} else {содержимое OnPlayerConnect}
- в OnPlayerDisconnect - if(isbot[playerid] ==1) {isbot[playerid] = 0;} else {содержимое OnPlayerDisconnect}

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

Добавлено (02.04.2008, 17:23)
---------------------------------------------
чуть упростил сейчас и вотЪ вроде бы самое оно. вставляйте в свой мод и больше их не увидите)))

Code
forward CheckName(playerid);

Code
new isbot[MAX_PLAYERS];

в OnPlayerConnect(playerid)

Code

   isbot[playerid] = 0;
   CheckName(playerid);
   if(isbot[playerid] == 0)
   {
   содержимое public OnPlayerConnect(playerid) НЕ включая return 1, который в самом низу
   }

в OnPlayerDisconnect(playerid,reason)

Code

   if(isbot[playerid] == 0)
   {
   содержимое public OnPlayerDisconnect(playerid,reason)
   }

внизу или где хотите))
Code

new IllegalNames[16][32] =
{
   "Carl", "Rocky",  "Pepe", "Arnoldo", "SgtPepper", "Pepsi", "Pepno",
   "Azucar", "Vino_Toro", "Zoquete", "Pacman", "Batman", "AquilesBrinco",
   "Manfrey", "Sopapeala", "Papirola"
};

public CheckName(playerid)
{
      new PlayerName[24];
      GetPlayerName(playerid, PlayerName, sizeof(PlayerName));
      for(new names = 0; names < sizeof(IllegalNames); names++)
      {
          if(strcmp(PlayerName, IllegalNames[names], true) == 0)
          {
          isbot[playerid] = 1;
          Kick(playerid);
          }
      }
}

в окне сервера появляются сообщения вида
[join] Carl has joined the server
[part] Carl has left the server

в игровом чате ессно ничего не появляется :) enjoy




Сообщение отредактировал dura4ok - Среда, 02.04.2008, 17:33
DarkByteДата: Среда, 02.04.2008, 19:07 | Сообщение # 11
Долгожитель
Группа: Продвинутые
Сообщений: 1577
Награды: 7
Город: Челябинск
Репутация: 182
Замечания: 0%
Статус:
Quote (dura4ok)
Да не парьтесь))) прога для запуска ботов одна. в ней 16 статических ников. просто пишется функция чека имени и кика и вставляется в OnPlayerConnect. боты сами по себе не страшны, только чат засоряют.

Только вот для того чтобы изменить ники ботов достаточно немного умения работы с хексредактором...
или проще взять исходные коды этих ботов, или ЛЮБЫХ других, подчёркиваю,
потому что это не единственные боты для сампа которые заходят на сервер толпой crazy



MusicSig vkontakte - расширение функционала ВКонтакте для Google Chrome
dura4okДата: Четверг, 03.04.2008, 10:04 | Сообщение # 12
Постоялец
Группа: Продвинутые
Сообщений: 357
Награды: 1
Город: Cеверодонецк
Репутация: 24
Замечания: 0%
Статус:
DarkByte,
Quote
Только вот для того чтобы изменить ники ботов достаточно немного умения работы с хексредактором...
или проще взять исходные коды этих ботов, или ЛЮБЫХ других, подчёркиваю,
потому что это не единственные боты для сампа которые заходят на сервер толпой
99% использующих эту программу - редкие алени, соображалки не хватит) исходники? а где взять, может ты знаешь? я не видел. конечно, может и есть другие программы, смотришь лог, добиваешь имен. минутное дело. cool



DarkByteДата: Четверг, 03.04.2008, 13:21 | Сообщение # 13
Долгожитель
Группа: Продвинутые
Сообщений: 1577
Награды: 7
Город: Челябинск
Репутация: 182
Замечания: 0%
Статус:
Quote (dura4ok)
99% использующих эту программу - редкие алени, соображалки не хватит) исходники? а где взять, может ты знаешь? я не видел. конечно, может и есть другие программы, смотришь лог, добиваешь имен. минутное дело. cool

А если ники состоят из случайного набора символов? А если ник бота совпадёт с чьим то ником и игрок попадёт в баню...
Исходники появились незадолго после выхода самой проги, мало кто об этом знал, но недавно видел на каком то сайте валялся crazy



MusicSig vkontakte - расширение функционала ВКонтакте для Google Chrome
dura4okДата: Четверг, 03.04.2008, 16:20 | Сообщение # 14
Постоялец
Группа: Продвинутые
Сообщений: 357
Награды: 1
Город: Cеверодонецк
Репутация: 24
Замечания: 0%
Статус:
DarkByte, такими пока меня не бомбили, но это уже конечно будет глобальная трабла.


zTronДата: Четверг, 03.04.2008, 16:40 | Сообщение # 15
Уверенный в себе
Группа: Продвинутые
Сообщений: 186
Награды: 4
Город: Харьков
Репутация: 39
Замечания: 20%
Статус:
Проверено на папиролах. Простенько и со вкусом. F.S.

//============================================================================

#pragma tabsize 0
#include <a_samp>
#include <a_players>

#define COLOR_RED 0xAA3333AA

public antibot()
{
new plida[16];
new plnamea[128];
new stringg[128];
for(new i=0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
if(GetPlayerPing(i) >= 60000)
{
GetPlayerIp(i, plida, sizeof(plida));
GetPlayerName(i,plnamea,sizeof(plnamea));
format(stringg,sizeof(stringg),"Detected possible bot from %s, %s - kicked.",plida,plnamea);
SendClientMessageToAll(COLOR_RED,stringg);
print(stringg);
Kick(i);
}
}
}
}

public OnFilterScriptInit()
{
SetTimer("antibot",10000,1);
}

//============================================================================
Каждый в игре проверяется на сверхвысокий пинг еже 10-ти секундно. Если зашкалило - кикает. Зачем сразу банить? Иногда при закидонах сетки,при подключении к серверу у некоторых бывает пинг выше 60000 и через пяток секунд падает до 50-130.


109.86.185.7:7777 ..::TrSB::.. PEN1: S.A.

Сообщение отредактировал zTron - Четверг, 03.04.2008, 16:57
  • Страница 1 из 3
  • 1
  • 2
  • 3
  • »
Поиск:





 


 


 
Хостинг от uCoz samp.at.ua