Dziś zajmiemy się problemem, który może powodować dodatkowe obciążenie dla naszego serwera. Chodzi o błąd, który pozwala na utrzymywanie otwartych połączeń bez odpowiednich uprawnień.
Kiedy ktoś wykorzysta ten błąd, może wysyłać do naszego serwera wiele pakietów. Serwer będzie musiał odpowiadać na każdy pakiet, co może spowodować jego zablokowanie.
Aby rozwiązać ten problem, musimy zadbać o to, aby połączenia były zamykane.
Mamy tutaj warunek, który sprawdza, czy użytkownik próbujący wejść na stronę administratora ma odpowiednie uprawnienia. Jeśli nie, rejestruje próbę dostępu i zwraca -1, co oznacza brak dostępu.
Niestety, warunek ten nie zamyka połączenia, gdy użytkownik nie ma uprawnień do dostępu. Może to spowodować, że serwer będzie obciążony, zwłaszcza jeśli ktoś celowo wykorzysta ten błąd i będzie próbował połączyć się z serwerem tysiące razy bez uprawnień.
Cześć wszystkim,
Dziś zajmiemy się problemem, który może powodować dodatkowe obciążenie dla naszego serwera. Chodzi o błąd, który pozwala na utrzymywanie otwartych połączeń bez odpowiednich uprawnień.
Kiedy ktoś wykorzysta ten błąd, może wysyłać do naszego serwera wiele pakietów. Serwer będzie musiał odpowiadać na każdy pakiet, co może spowodować jego zablokowanie.
Aby rozwiązać ten problem, musimy zadbać o to, aby połączenia były zamykane.
Implementacja:
📂 Lokalizacja pliku: 'game -> input.cpp'
🔍 Szukaj
Mamy tutaj warunek, który sprawdza, czy użytkownik próbujący wejść na stronę administratora ma odpowiednie uprawnienia. Jeśli nie, rejestruje próbę dostępu i zwraca -1, co oznacza brak dostępu.
Niestety, warunek ten nie zamyka połączenia, gdy użytkownik nie ma uprawnień do dostępu. Może to spowodować, że serwer będzie obciążony, zwłaszcza jeśli ktoś celowo wykorzysta ten błąd i będzie próbował połączyć się z serwerem tysiące razy bez uprawnień.
Zrobimy też bardziej profesjonalny log, który będzie odrębny dla 'IsEmptyAdminPage' i 'IsAdminPage'.
♻️ Zamień
🔍 Szukaj
♻️ Zamień
🗒️Podgląd implementacji: