[Tutorial] Criando um ant flood simples
#1

Criando um anti flood simples



Introduзгo:
Para este tutorial, devemos entender oque й SPAM e oque й FLOOD. Sгo duas palavras muitos diferentes porйm com uma semelhanзa, vamos ver:

Oque й SPAM?
Код:
Spam й um termo de origem inglesa cujo significado designa uma mensagem eletrфnica 
recebida mas nгo solicitada pelo usuбrio. O conteъdo de um spam й normalmente uma 
mensagem publicitбria que tem o objetivo de divulgar os serviзos ou produtos de alguma 
empresa a uma grande massa de usuбrios de e-mail.
fonte: www.significados.com.br/spam/




Oque й FLOOD?
Код:
“Flood” й um termo em inglкs que significa “encher” ou “inundar”, mas na internet ele 
usado para designar uma atitude bem irritante. Virtualmente, a palavra virou uma 
expressгo para definir o ato de postar informaзхes sem sentido ou finalidade nenhuma, 
de modo que uma ou mais pessoas sejam prejudicadas.
fonte: http://www.tecmundo.com.br/o-que-e/8...e-e-flood-.htm



A semelhanзa entre esses dois й que sгo muitas mensagens em um curto tempo e que muitas vezes podem sobrecarregar o servidor, um exemplo mais prбtico й um ataque DDoS que й um ataque de floood aonde o hacker envia vбrios pacotes invбlidos para o servidor e quando esses pacotes chegam no servidor eles sгo negados um pequeno exemplo:


Como vocк pode notar, no lado esquerdo estб a terra representando o cliente e no lado direito o servidor. Quando vбrios clientes enviam seus pacotes no servidor tudo fica normal, porйm quando alguns clientes enviam muito mais de um pacote para um ъnico servidor acarreta e sobrecarrega o servidor. Mas nosso tutorial nгo й sobre ataque DDoS e sim Antispam/Antiflood.


Precisaremos saber tambйm, oque й timestamp:
Код:
O timestamp do unix corresponde ao nъmero de segundos desde a meia-noite do dia 01/01/1970 
no fuso horбrio UTC sem considerar os segundos bissextos. Para simplificar, vamos denominar 
este momento no tempo de ponto zero. Assim, o timestamp do unix й o nъmero de segundos 
desde o ponto zero.
fonte http://pt.stackoverflow.com/question...o-do-timestamp






Tutorial:
Agora que sabemos oque й SPAM e oque й FLOOD vamos iniciar nosso tutorial. Primeiramente precisamos de uma variбvel que armazenarб os dados de cada jogador, para ter maior controle sobre o sistema.. Vamos cria-la com o nome Spamming, Essa variбvel armazenarб o timestamp do jogador
PHP код:
new Spamming[MAX_PLAYERS]; 

Apуs criar nossa variбvel, precisamos criar nosso algoritimo em que faz a verificaзгo para saber se o jogador realizou flood ou spam:
PHP код:

    
if((gettime() - Spamming[playerid]) <= && Spamming[playerid])
    {
        return 
SendClientMessage(playerid, -1"[Erro]: Sistema anti Spam/Flood");
    }
    
    
Spamming[playerid] = gettime(); 
Й um algorнtimo um pouco complexo para novatos mas irei explicar como funciona, quando o player digita algum comando ele verifica na condiзгo se a variбvel Spamming for diferente de 0 e o timestamp atual subtraнdo pelo timestamp salvo na variбvel Spamming for menor ou igual a 2 significa que o jogador estб fazendo SPAM. Caso o jogador nгo estiver fazendo SPAM, ele armazena na variбvel Spamming o timestamp atual.


PHP код:
    /*
        Na condiзгo a seguir, й realizado uma verificaзгo para saber se a variбvel Spamming й diferente de 0
        e tambйm para saber se o timestamp atual subtraнdo pelo timestamp da ъltima vez que ele digitou algum comando
        й menor ou igual a 2. Caso for menor ou igual a 2 ele manda a mensagem.
    */
    
if((gettime() - Spamming[playerid]) <= && Spamming[playerid])
    {
        
// Mensagem informando que o jogador cometeu SPAM:
        
return SendClientMessage(playerid, -1"[Erro]: Sistema anti Spam/Flood");
    }
    
    
    
/*
        Caso fizer mais que 2 segundos que o jogador digitou algum comando, ele apenas armazena o timestamp
        na variбvel Spamming.
    */
    
Spamming[playerid] = gettime(); 

Este й um exemplo muito simples, envolve mais questгo de lуgica do que de funзхes. Lembrando que vocк pode utilizar este anti-spam/anti-flood em qualquer parte do seu gamemode:

Caso vocк use ZCMD ou Y_CMD
PHP код:

public OnPlayerCommandPerformed(playeridcmdtext[], success)
{
    if((
gettime() - Spamming[playerid]) <= && Spamming[playerid])
    {
        return 
SendClientMessage(playerid, -1"[Erro]: Sistema anti Spam/Flood");
    }
    
Spamming[playerid] = gettime();
    return 
1;



Em STRCMP
PHP код:
public OnPlayerCommandText(playeridcmdtext[])
{
    if((
gettime() - Spamming[playerid]) <= && Spamming[playerid])
    {
        return 
SendClientMessage(playerid, -1"[Erro]: Sistema anti Spam/Flood");
    }
    
Spamming[playerid] = gettime();
    return 
1;




Crйditos:
- zSuYaNw @ 2016
Reply
#2

Boa Garfield Gostei eu estava procurando ant flood

vlw
Reply
#3

boa Garfield
Quote:

>.....

Reply
#4

Bom...

@OFF:
Vou indicar para o governador do Rio de Janeiro...

Nгo entendeu?? http://translate.******.com/#auto|pt|flood
Reply
#5

Boa.

Mas nгo й o mais ideal, ele utiliza timer, e jб й possivel fazer um Anti Flood sem timer.
Reply
#6

Quote:
Originally Posted by Ryan_Howllet
Посмотреть сообщение
Boa.

Mas nгo й o mais ideal, ele utiliza timer, e jб й possivel fazer um Anti Flood sem timer.
Й mais cada um com seu gosto com seu COD
Reply
#7

Quote:
Originally Posted by [BVE]Lucas_Locate
Посмотреть сообщение
Й mais cada um com seu gosto com seu COD
Bom, entгo essa mensagem se aplica a vocк e nгo a mim, porque eu falei 'Bom' (Quis elogiar o tutorial, atй porque o Gato faz tutoriais muito bons) e apenas 'returnei' a minha opiniгo.
Reply
#8

Legal
Reply
#9



kkkkkkkkkkkkkkk
Reply
#10

vou criar um ant flood sem timer.

Aguarde. . .


Obrigado a todos!
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)