Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Testowanie wprowadzonych danych
Forum PHP.pl > Forum > PHP
djluzio
Czy takie zabezpieczenie danych pobranych z formularza przed zapisem do bazy danych jest wystarczające?

  1. <?php
  2. $zmienna = addslashes(trim(strip_tags($POST[&#092;"zmienna\"])));
  3. ?>
fones
no raczej powinno... przy wyciaganiu zastosuj jeszcze nl2br(); i bedzie gitara guitar.gif

pozdro
Vengeance
osobiście przy zapisie do bazy danych stosuje tylko
addslashes()

dopiero przy wyciąganiu danych w zależności co mi potrzebne robie nl2br()
htmlspecialchars() strip_tags() i jeszcze jakieś tam inne.

Zaleta ? Przy edycji np. artykułu zapisanego w bazie jesli zapisywałeś stosując nl2br() to z edycji nici :/ wszędzie będziesz miał <br /> i przy każdej próbie zapisu edytowanego pliku liczba <br /> będzie się podwajać.

Więc proponuje ci stosować tylko addslashes() oraz jakieś funckje sprawdzające czy np. zmienna z $_POST[] jest cyfrą czy też stringiem zależnie co chcesz włożyć do bazy. usuwanie tagów html i takie tam rób przy wyciąganiu danych.

To moja opinia ;]
kicaj
Ale przy edycji mozna ponownie zastosowac funkcje by w formularzy wygladalo normalnie...

Kwestia gustu, a raczej wyboru....
rogrog
a raczej kwestia optymalizacji...

bo należałoby ograniczyć ilość wywołań różnych funkcji... więc w zasadzie to najlepiej było by wykonywać wszystko przy wrzucaniu do bazy (i ew. przy edycji odwracać)

jednak osobiście aktualnie stosuję rozwiązania podobne do pomysłu Vengeance... chociaż zdaję sobie sprawę że przy dużych obciążeniach byłoby to niedopuszczalne smile.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.