Sanityzacja liczb zmiennoprzecinkowych (floatval)

Założenie: Nauczymy się, jak bezpiecznie konwertować wartości pobrane z formularza na liczby zmiennoprzecinkowe (float) w PHP, używając funkcji floatval().

Krok po kroku:

  1. Pobranie danych z formularza: Załóżmy, że użytkownik wprowadził cenę w formularzu o nazwie cena.
  2. 
    $cena_z_formularza = $_POST['cena'];
    				

    Ten kod pobiera wartość z pola formularza o nazwie “cena”. Zauważ, że $_POST['cena'] zawiera surową wartość wprowadzoną przez użytkownika i może być podatna na ataki (np. SQL injection, jeśli używana jest bezpośrednio w zapytaniu do bazy danych).

  3. Sanityzacja danych za pomocą floatval(): Funkcja floatval() konwertuje podaną wartość na liczbę zmiennoprzecinkową. Jeśli wartość nie może być przekonwertowana, zwróci 0.
  4. 
    $cena = floatval($cena_z_formularza);
    				

    Ten kod konwertuje wartość $cena_z_formularza na liczbę zmiennoprzecinkową i zapisuje ją do zmiennej $cena. To chroni nas przed potencjalnymi błędami i atakami, ponieważ floatval() ignoruje nieprawidłowe znaki.

  5. Sprawdzenie poprawności danych (opcjonalnie): Możesz dodać sprawdzenie, czy konwersja przebiegła pomyślnie i czy wartość jest w dopuszczalnym zakresie.
  6. 
    if ($cena <= 0) {
      echo "Błędna cena!";
    } else {
      echo "Cena: " . $cena;
    }
    				

    Ten kod sprawdza, czy cena jest większa od zera. Możesz dodać bardziej zaawansowane walidacje w zależności od potrzeb.

Ten przykład pokazuje podstawy sanityzacji danych w PHP. Pamiętaj, że zawsze należy walidować i sanitizować dane pochodzące z zewnątrz, aby zabezpieczyć swoją aplikację przed atakami.

Dodaj komentarz 0

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