Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: bezpieczna funkcja przed zapisem do bazy
Forum PHP.pl > Forum > Przedszkole
biokl
Znaleziona na forum php.net funkcja konwertuje dane przed zapisem do bazy. Ma to na celu zabezpieczenie przed niepozadanymi znakami mogacymi zaszkodzic bazie.
  1. <?php
  2.  
  3. function encode_text($_str) {
  4. $_str = strip_tags($_str);
  5. $_str = trim($_str);
  6. $_str = htmlentities($_str);
  7. $_str = str_replace(&#092;"rn\", \"#BR#\", $_str);
  8. return($_str);
  9. }
  10. ?>


Czy dobrym rozwiazaniem jest uzywanie tutaj htmlentities() czy moze wystarczy htmlspecialchars() ? wydaje mi sie uzywanie ich za nadmiarowe, na serwerze wlaczona jest magic_quotes_gpc. (wraz z strip_tags() chyba wystarczy by bylo bezpiecznie ? )

Funkcja dekodujaca:
  1. <?php
  2.  
  3. function decode_text($_str, $_form=TRUE) {
  4. $trans_tbl = get_html_translation_table (HTML_ENTITIES);
  5. $trans_tbl = array_flip ($trans_tbl);
  6. $_str = strtr($_str, $trans_tbl);
  7. if ($_form) {
  8.  $_nl = &#092;"rn\";
  9. } else {
  10.  $_nl = &#092;"<br>\";
  11. }
  12. $_str = str_replace(&#092;"#BR#\", \"$_nl\", $_str);
  13. return($_str);
  14. }
  15. ?>


pozdrawiam
Vertical
addslashes() [dodaje "/" przed apostrofami i cudzysłowami]
stripslashes() [odejmuje "/" przed apostrofami i cudzysłowami]
biokl
tak, zgadza się, ale czy to wystarczy ?
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.