Filtracja danych

Filtracja danych

Założenie: Pokażemy, jak zabezpieczyć aplikację PHP przed atakami SQL Injection poprzez filtrację danych wejściowych przed ich użyciem w zapytaniach SQL.

Krok po kroku:

  1. Przygotowanie danych wejściowych: Załóżmy, że użytkownik podaje swoje imię i nazwisko w formularzu. Dane te są przekazywane do skryptu PHP za pomocą metody POST.
  2. Filtracja danych: Użyjemy funkcji `filter_input()` do przefiltrowania danych. Funkcja ta pozwala na określenie typu danych i metody filtrowania. W tym przykładzie użyjemy filtra `FILTER_SANITIZE_STRING` aby usunąć potencjalnie niebezpieczne znaki.
  3. 
    $imie = filter_input(INPUT_POST, 'imie', FILTER_SANITIZE_STRING);
    $nazwisko = filter_input(INPUT_POST, 'nazwisko', FILTER_SANITIZE_STRING);
    				

    Ten kod pobiera wartości ‘imie’ i ‘nazwisko’ z tablicy $_POST i czyści je z potencjalnie niebezpiecznych znaków.

  4. Przygotowanie zapytania SQL: Użyjemy przygotowanych zapytań (prepared statements) aby uniknąć bezpośredniego wstawiania danych użytkownika do zapytania SQL.
  5. 
    $stmt = $pdo->prepare("INSERT INTO users (imie, nazwisko) VALUES (?, ?)");
    $stmt->execute([$imie, $nazwisko]);
    				

    Ten kod przygotowuje zapytanie SQL i bezpiecznie wstawia przefiltrowane dane za pomocą metody `execute()`.

Pamiętaj, że to tylko podstawowy przykład. W rzeczywistych aplikacjach należy stosować bardziej zaawansowane techniki bezpieczeństwa, takie jak walidacja danych i ochrona przed innymi typami ataków.

Ten przykład pokazuje podstawowe techniki filtracji danych w PHP. Zachęcamy do dalszego zgłębiania tematu bezpieczeństwa aplikacji webowych!

Dodaj komentarz 0

Your email address will not be published. Required fields are marked *