Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] Bezpieczeństwo - jak usunąć kod php ze stringa
-mkdes-
post
Post #1





Goście







Filtruję zmienną POST i chciałbym usunąć z niej wszystkie fragmenty kodu PHP typowe dla niego np. include.
Czy jest może na to jakaś gotowa funkcja?

Przerobiłem coś z manuala i tak dbam o bezpieczeństwo zmiennych GET i POST. Działa na pewno.

  1. <?php
  2. /*------ Copyright MKDES.pl ------- */
  3. /* ----- Kod funkcji licencjonowany na zasadach GPL ---- */
  4.  
  5. function czyscZmienne($x)
  6. {
  7. if (is_array($x)) {
  8.  
  9. return array_map('czyscZmienne', $x);
  10. }
  11. $x = trim($x);
  12. $x = strip_tags($x);
  13. $x = mysql_escape_string($x);
  14. $x = htmlspecialchars($x);
  15. $x = str_replace('.php','', $x);
  16. $x = str_replace(':','',$x);
  17. $x = str_replace('//','',$x);
  18. $x = str_replace('http','',$x);
  19.  
  20. return $x;
  21.  
  22. }
  23. ?>


Użycie:
  1. <?php
  2. $_POST = array_map('czyscZmienne', $_POST); 
  3. $_GET = array_map('czyscZmienne', $_GET);
  4. ?>



TAG: filtrowanie zmiennych POST i GET

UWAGA
Dla zmiennych w UTF-8 niektóre funkcje czyszczące zmieniają ilość znaków, więc jeśli po przesłaniu zmiennych, tekstu chcecie liczyć ilość znaków będzie ona inna niż faktycznie wpisana w formularzu.
To jest kwestia Multibyte String: http://pl.php.net/manual/pl/book.mbstring.php

Napewno nie ma problemu z polskimi znakami.

Ten post edytował mkdes 17.08.2008, 09:40:11
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 28.09.2025 - 22:45