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:
- Pobranie danych z formularza: Załóżmy, że użytkownik wprowadził cenę w formularzu o nazwie
cena. - Sanityzacja danych za pomocą
floatval(): Funkcjafloatval()konwertuje podaną wartość na liczbę zmiennoprzecinkową. Jeśli wartość nie może być przekonwertowana, zwróci 0. - Sprawdzenie poprawności danych (opcjonalnie): Możesz dodać sprawdzenie, czy konwersja przebiegła pomyślnie i czy wartość jest w dopuszczalnym zakresie.
$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).
$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.
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.