Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Całościowe filtrowanie danych
Kildyt
post
Post #1





Grupa: Zarejestrowani
Postów: 869
Pomógł: 53
Dołączył: 20.10.2003
Skąd: Przeworsk

Ostrzeżenie: (0%)
-----


Cześć! smile.gif

Piszę aktualnie nowe jądro i chcę przy użyciu jeden funkcji przefiltrować dane pod wieloma względami (html, mysql itp.).

Poczytałem trochę na w internecie o filtrowaniu danych, nawet znalazłem bardzo prosty i zrozumiały wykres: link w .pdf.

Napisałem funkcję filter i wygląda ona tak:
  1. <?php
  2. function filter($give, $type) {
  3.    if (!$type OR is_string($type)) {
  4.        $error = new error;
  5.        
  6.        $error -> show('Nie podałeś typu zmiennej podczas filtrowania danych! 1 - string (tekst), 2 - int (liczba całkowita)', '1');
  7.    }
  8.    
  9.    if ($type == "2") {
  10.        $type = "is_int";
  11.    }
  12.    
  13.    if ($type == "1") {
  14.        $type = "is_string";
  15.    }
  16.    
  17.    
  18.    if ($type($give)) {
  19.        return $give;
  20.    } else {
  21.        $error = new error;
  22.        
  23.        $error -> show('Zawartość zmiennej różni się od jej typu! 1 - string (tekst), 2 - int (liczba całkowita)', '1');
  24.    }
  25. }
  26. ?>


Przykładowe zastosowanie funkcji to:
  1. <?php
  2. $title = filter($_GET['title'], 1);
  3. $id = filter($_GET['id'], 2);
  4. ?>


Spis zastosowanych funkcji do przefiltrowania zmiennej (w kolejności zastosowania): stripslashes, escapeshellcmd, strip_tags, htmlspecialchars, mysql_real_escape_string, urlencode.

Jak myślicie, czy ten skrypt jest poprawny? Zmienić szereg wykonywanych funkcji, może jakąś dodać, lub usunąć?

Ten post edytował Kildyt 4.10.2008, 15:34:51


--------------------
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 20.08.2025 - 22:35