Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] Czy trzeba zabezpieczać switch?
!*!
post
Post #1





Grupa: Zarejestrowani
Postów: 4 298
Pomógł: 447
Dołączył: 16.11.2006

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


  1. $strona = $_GET['str'];
  2. if(!isset($strona)){$strona = 'start';}
  3. switch($strona){
  4. case 'start':include 'start.html';break;
  5. case 'strona2':include 'strona.html';break;
  6. default:include 'brak.html';
  7. }


Czy trzeba zabezpieczyć $_GET w tym wypadku? Jeśli tak, to jak? Dodanie choćby funkcji trim:

  1. $strona = trim($_GET['act']);


Skutkuje wczytaniem defalult, mimo że wartość jest poprawna.

Ten post edytował !*! 15.08.2010, 09:47:39
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
tehaha
post
Post #2





Grupa: Zarejestrowani
Postów: 1 748
Pomógł: 388
Dołączył: 21.08.2009
Skąd: Gdynia

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


w takiej sytuacji raczej nie ma, żadnego nie bezpieczeństwa, alternatywnie możesz też zrobić tak:
  1. $sites = array('start', 'strona1', 'strona2');
  2.  
  3. if(in_array($_GET['site'], $sites))
  4. {
  5. include($_GET['site'].'.php');
  6. }
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: 12.10.2025 - 04:56