Administrator
Administrator
  • Mesaje: 4988
    Membru din: 07 Aug 2024, 18:53
  • Reacții: 126051
  • Mesaje utile: 47
  • Status: Pe aici.. 🤠
    Server: Saga2 - Soon
  • Regat: Jinno
  • [ID Discord]
  • *Descriere:

    Salut. Am gasit si eu asta pe la turci. :) Va explic mai jos ce face de fapt.

    Este un cod care verifica fiecare pachet primit, iar daca acesta invalid, acesta este blocat pentur un anumit timp pentru a nu permite incarcarea serverului.

    Serverul ia primul byte (header-ul) si verifica daca este un header corect.

    Daca nu exista in lista de pachete valide → este considerat "unknown header".

    Daca un IP trimite prea multe pachete invalide → este banat temporar.

    Ajuta impotriva:
    - spam cu pachete stricate
    - flood cu date random
    - incercari de a crapa serverul cu pachete invalide
    - boti prost facuti

    Nu este cine stie ce protectie, dar e mai buna decat niciuna. Nu blocheaza botnet sau alte atacuri masive in totalitate, dar ajuta sa iti tina serverul in picioare cat de cat. Foarte util pentru flood packet si atacuri ddos mai mici.

    *Poze / Video:
    [C++] Solutie pentru Anti DDoS - Mesaj 1 - Imagine 1
    11-19-2025, 14-11-30.png (451.06 KiB) Vizualizat de 992 ori

    *Link download / Code:

    Adaugam in service.h / CommonDefines.h:

    Cod: Selectaţi tot

    #ifndef __INC_METIN_II_GAME_DEFINE_H__
    #define __INC_METIN_II_GAME_DEFINE_H__
    
    
    #include <map>
    #include <string>
    #include <time.h>
    static std::map<std::string, int> g_unknownHeaderCount;
    static std::map<std::string, time_t> g_unknownHeaderBan;
    
    
    // IP ban and unknown header protection defines
    #define ENABLE_UNKNOWN_HEADER_IP_BAN
    #define UNKNOWN_HEADER_MAX_COUNT 5
    #define UNKNOWN_HEADER_BAN_DURATION 600 // seconds
    
    #endif // __INC_METIN_II_GAME_DEFINE_H__
    
    Deschidem input.cpp si cautam:

    Cod: Selectaţi tot

    bool CInputProcessor::Process(LPDESC lpDesc, const void * c_pvOrig, int iBytes, int & r_iBytesProceed)
    Modificam asa:
    Conținut: Ascuns
    Reacționează ❤️ la acest mesaj și conținutul se va afișa automat.


    Deschidem input_db.cpp si cautam:

    Cod: Selectaţi tot

    bool CInputDB::Process(LPDESC d, const void * orig, int bytes, int & r_iBytesProceed)
    Modificam asa:
    Conținut: Ascuns
    Reacționează ❤️ la acest mesaj și conținutul se va afișa automat.


    Deschidem input_udp.cpp si cautam:

    Cod: Selectaţi tot

    bool CInputUDP::Process(LPDESC pDesc, const void * c_pvOrig, int iBytes, int & r_iBytesProceed)
    Modificam asa:
    Conținut: Ascuns
    Reacționează ❤️ la acest mesaj și conținutul se va afișa automat.
    Fii primul care reacționează

    Nou Cum descarc de pe TeraBox?

    Afișează detalii Ascunde detalii
    • Este asemănător cu Mega.nz
    • Instalați-vă clientul lor de Download de aici
    • Faceți-vă un cont (vă puteți loga cu Facebook / Google / etc)
    • Nou Dacă nu vreți să descărcați clientul de Download, folosiți acest site
    • Gata! Acum puteți descărca resursele rapid & simplu.

    De ce folosim TeraBox?

    • Este gratuit
    • Primești 1TB de spațiu gratuit la orice cont creat!
    • Este ușor de folosit și varianta premium este foarte ieftină
    • Fișierele nu sunt șterse niciodată
    TeraBox logo
    See full signature

    Înapoi la “Îmbunătățiri”

    Informații

    Utilizatori ce navighează pe acest forum: Niciun utilizator înregistrat și 3 vizitatori

    Discord ID copiat: