Pytanie                    | 
                
                    Odpowiedź                    | 
            
        
        
      Co to jest SQL Injection?    rozpocznij naukę
 | 
 | 
      SQL Injection to technika ataku, w której złośliwy kod SQL jest wstrzykiwany do zapytania SQL, co może prowadzić do nieautoryzowanego dostępu do danych lub ich modyfikacji.   
 | 
 | 
 | 
      Jakie są podstawowe metody ochrony przed SQL Injection w PHP?    rozpocznij naukę
 | 
 | 
      Podstawowe metody ochrony przed SQL Injection w PHP to używanie przygotowanych zapytań (prepared statements) oraz funkcji PDO (PHP Data Objects) lub mysqli z bindowaniem parametrów.   
 | 
 | 
 | 
| 
     rozpocznij naukę
 | 
 | 
      Cross-Site Scripting to rodzaj ataku, w którym złośliwy skrypt jest wstrzykiwany do treści strony internetowej, a następnie wykonywany w przeglądarce użytkownika, co może prowadzić do kradzieży danych, przejęcia sesji użytkownika itp.   
 | 
 | 
 | 
      Jakie są metody ochrony przed XSS w aplikacjach webowych?    rozpocznij naukę
 | 
 | 
      Walidacja i odpowiednie filtrowanie danych wejściowych, kodowanie wyjścia (output encoding), stosowanie nagłówków HTTP takich jak Content Security Policy (CSP) oraz unikanie dynamicznego generowania kodu HTML na podstawie danych użytkownika.   
 | 
 | 
 | 
| 
     rozpocznij naukę
 | 
 | 
      Cross-Site Request Forgery to atak, w którym złośliwa strona internetowa nakłania zalogowanego użytkownika do wykonania nieautoryzowanej akcji na innej stronie, na której jest zalogowany, np. wykonanie przelewu bankowego.   
 | 
 | 
 | 
      Jakie są techniki ochrony przed CSRF w PHP?    rozpocznij naukę
 | 
 | 
      Techniki ochrony przed CSRF w PHP obejmują używanie tokenów CSRF (Cross-Site Request Forgery tokens) w formularzach, weryfikację nagłówków HTTP referer oraz stosowanie ramek ochronnych (framebusting).   
 | 
 | 
 | 
      Co to jest atak brute force?    rozpocznij naukę
 | 
 | 
      Atak brute force to metoda ataku polegająca na automatycznym i systematycznym sprawdzaniu wszystkich możliwych kombinacji haseł do momentu znalezienia właściwego.   
 | 
 | 
 | 
      Jak zabezpieczyć aplikację webową przed atakami brute force?    rozpocznij naukę
 | 
 | 
      Zabezpieczenia przed atakami brute force obejmują ograniczenie liczby nieudanych prób logowania, stosowanie CAPTCHA, weryfikację dwuetapową (2FA) oraz blokowanie adresów IP po określonej liczbie nieudanych prób.   
 | 
 | 
 | 
      Co to jest zasada least privilege (najmniejszego uprzywilejowania)?    rozpocznij naukę
 | 
 | 
      Zasada least privilege to zasada bezpieczeństwa mówiąca, że użytkownicy i programy powinny mieć minimalny poziom dostępu konieczny do wykonania swoich zadań, aby zminimalizować potencjalne szkody w przypadku naruszenia bezpieczeństwa.   
 | 
 | 
 | 
      Jakie są podstawowe zasady bezpiecznego przechowywania haseł w bazach danych?    rozpocznij naukę
 | 
 | 
      Podstawowe zasady bezpiecznego przechowywania haseł obejmują stosowanie silnych algorytmów hashujących (np. bcrypt, Argon2), dodawanie salt do haseł przed hashowaniem oraz regularne aktualizowanie i zmienianie haseł.   
 | 
 | 
 | 
      Co to jest HTTPS i dlaczego jest ważny?    rozpocznij naukę
 | 
 | 
      HyperText Transfer Protocol Secure to wersja protokołu HTTP z dodatkowymi warstwami zabezpieczeń (SSL/TLS). Zapewnia szyfrowanie transmisji danych pomiędzy przeglądarką a serwerem.   
 | 
 | 
 | 
      Jakie są techniki zabezpieczania sesji w PHP?    rozpocznij naukę
 | 
 | 
      Stosowanie unikalnych identyfikatorów sesji, regenerowanie identyfikatorów sesji przy ważnych operacjach, ograniczanie czasu trwania sesji, używanie secure cookies oraz weryfikację adresów IP i agentów użytkownika.   
 | 
 | 
 | 
      Co to jest OWASP i jakie ma znaczenie dla bezpieczeństwa aplikacji webowych?    rozpocznij naukę
 | 
 | 
      Open Web Application Security Project to organizacja, która zajmuje się poprawą bezpieczeństwa aplikacji webowych. Dostarcza dokumenty, narzędzia i standardy, które pomagają w identyfikacji i zapobieganiu zagrożeniom bezpieczeństwa.   
 | 
 | 
 | 
      Jakie są podstawowe zasady bezpiecznego kodowania w PHP?    rozpocznij naukę
 | 
 | 
      Walidacja i filtrowanie danych wejściowych, unikanie bezpośredniego wstawiania danych użytkownika do zapytań SQL, używanie przygotowanych zapytań, stosowanie zasad least privilege, regularne aktualizacje i łatki bezpieczeństwa.   
 | 
 | 
 | 
      Co to jest atak man-in-the-middle (MITM)?    rozpocznij naukę
 | 
 | 
      Atak man-in-the-middle (MITM) to typ ataku, w którym atakujący przechwytuje i modyfikuje komunikację pomiędzy dwiema stronami bez ich wiedzy, co pozwala na kradzież danych, manipulację informacjami itp.   
 | 
 | 
 | 
      Jakie są techniki ochrony przed atakami man-in-the-middle?    rozpocznij naukę
 | 
 | 
      Techniki ochrony przed atakami man-in-the-middle obejmują używanie protokołów szyfrowania (np. HTTPS), weryfikację certyfikatów SSL/TLS, stosowanie VPN oraz zabezpieczanie sieci Wi-Fi hasłem.   
 | 
 | 
 | 
      Co to jest Remote Code Execution (RCE)?    rozpocznij naukę
 | 
 | 
      Remote Code Execution (RCE) to atak, w którym atakujący uzyskuje możliwość uruchomienia dowolnego kodu na serwerze aplikacji zdalnie, co może prowadzić do pełnego przejęcia kontroli nad systemem.   
 | 
 | 
 | 
      Jakie są metody ochrony przed Remote Code Execution w PHP?    rozpocznij naukę
 | 
 | 
      Metody ochrony przed RCE w PHP obejmują unikanie dynamicznego wykonywania kodu z niezaufanych źródeł, walidację i sanitizację danych wejściowych, stosowanie przygotowanych zapytań, a także regularne aktualizowanie i łatanie oprogramowania.   
 | 
 | 
 | 
      Co to jest Path Traversal?    rozpocznij naukę
 | 
 | 
      Path Traversal to technika ataku, w której atakujący uzyskuje dostęp do plików na serwerze poza zamierzonym katalogiem poprzez manipulację ścieżkami do plików, co może prowadzić do odczytu, modyfikacji lub usunięcia plików.   
 | 
 | 
 | 
      Jakie są metody ochrony przed Path Traversal w PHP?    rozpocznij naukę
 | 
 | 
      Ochrona przed Path Traversal obejmuje walidację i normalizację ścieżek plików, używanie funkcji PHP takich jak realpath() oraz ograniczenie uprawnień do katalogów i plików.   
 | 
 | 
 | 
      Co to jest enumeracja użytkowników?    rozpocznij naukę
 | 
 | 
      Enumeracja użytkowników to proces odkrywania nazw użytkowników na stronie internetowej, często przez analizę komunikatów o błędach podczas logowania, co może ułatwić ataki typu brute force.   
 | 
 | 
 | 
      Jakie są metody ochrony przed enumeracją użytkowników w aplikacjach webowych?    rozpocznij naukę
 | 
 | 
      Ochrona przed enumeracją użytkowników obejmuje ujednolicanie komunikatów o błędach logowania, stosowanie limitów prób logowania oraz używanie CAPTCHA.   
 | 
 | 
 | 
      Co to jest Escalation of Privileges (eskalacja uprawnień)?    rozpocznij naukę
 | 
 | 
      Eskalacja uprawnień to proces, w którym atakujący zdobywa wyższy poziom uprawnień niż mu przyznany, co może prowadzić do przejęcia kontroli nad systemem lub aplikacją.   
 | 
 | 
 | 
      Jakie są metody ochrony przed eskalacją uprawnień?    rozpocznij naukę
 | 
 | 
      Ochrona przed eskalacją uprawnień obejmuje stosowanie zasady najmniejszych uprawnień (least privilege), regularne aktualizowanie i łatanie systemów, monitorowanie i audytowanie logów oraz stosowanie mechanizmów kontroli dostępu (RBAC, ACL).   
 | 
 | 
 | 
      Co to jest nagłówek HTTP Strict-Transport-Security (HSTS)?    rozpocznij naukę
 | 
 | 
      HTTP Strict-Transport-Security (HSTS) to nagłówek HTTP, który wymusza używanie HTTPS przez przeglądarkę dla wszystkich połączeń z serwerem, zapobiegając atakom typu man-in-the-middle.   
 | 
 | 
 | 
      Co to jest Content Security Policy (CSP)?    rozpocznij naukę
 | 
 | 
      Content Security Policy (CSP) to nagłówek HTTP, który pomaga zapobiegać atakom XSS i innym atakom związanym z wczytywaniem złośliwego kodu przez definiowanie, jakie źródła zasobów są dozwolone.   
 | 
 | 
 | 
      Jakie są podstawowe zasady definiowania polityki CSP?    rozpocznij naukę
 | 
 | 
      Określenie dozwolonych źródeł zasobów (np. skryptów, stylów, obrazów), unikanie używania inline script i style, oraz regularne monitorowanie i aktualizowanie polityki w odpowiedzi na zmieniające się zagrożenia.   
 | 
 | 
 | 
      Co to jest prepared statement i dlaczego jest ważny w PHP?    rozpocznij naukę
 | 
 | 
      Prepared statement to sposób wykonywania zapytań SQL, który oddziela zapytanie od danych. Jest ważny, ponieważ chroni przed SQL Injection, automatycznie eskapując dane użytkownika.   
 | 
 | 
 | 
      Co to jest csrf_token i jak go używać w PHP?    rozpocznij naukę
 | 
 | 
      CSRF token to unikalny token generowany dla każdego formularza w celu ochrony przed atakami Cross-Site Request Forgery (CSRF). Używa się go, dodając ukryte pole w formularzu i weryfikując token na serwerze podczas przetwarzania formularza.   
 | 
 | 
 | 
      Co to jest filtracja danych wejściowych i dlaczego jest ważna?    rozpocznij naukę
 | 
 | 
      Filtracja danych wejściowych to proces sprawdzania i oczyszczania danych dostarczanych przez użytkownika w celu zapobiegania wprowadzeniu szkodliwych danych do aplikacji. Jest ważna, ponieważ chroni przed różnymi atakami, takimi jak SQL Injection i XSS.   
 | 
 | 
 | 
      Co to jest session fixation i jak się przed nim bronić w PHP?    rozpocznij naukę
 | 
 | 
      Session fixation to atak, w którym atakujący zmusza użytkownika do użycia określonego identyfikatora sesji, co pozwala atakującemu przejąć sesję użytkownika. Obrona przed nim obejmuje regenerowanie identyfikatora sesji po zalogowaniu się użytkownika.   
 | 
 | 
 | 
      Co to jest bcrypt i dlaczego jest zalecany do hashowania haseł w PHP?    rozpocznij naukę
 | 
 | 
      bcrypt to algorytm hashowania haseł zaprojektowany specjalnie do tego celu, który jest wolny, co utrudnia ataki brute force. Zapewnia również automatyczne zarządzanie saltami.   
 | 
 | 
 | 
      Co to jest open_basedir i jak poprawia bezpieczeństwo w PHP?    rozpocznij naukę
 | 
 | 
      open_basedir to dyrektywa w pliku konfiguracyjnym PHP, która ogranicza dostęp PHP do określonego katalogu i jego podkatalogów. Pomaga to w zabezpieczeniu aplikacji przed dostępem do nieautoryzowanych plików na serwerze.   
 | 
 | 
 |