Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [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
Quantum
post
Post #2





Grupa: Zarejestrowani
Postów: 450
Pomógł: 84
Dołączył: 27.11.2008
Skąd: Warszawa

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


case 'start:include 'start.html';break; -> case 'start': include 'start.html';break;
Go to the top of the page
+Quote Post
!*!
post
Post #3





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

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


Poprawiłem to już wcześniej, pisałem to na szybko, chodzi tylko o to czy trzeba to zabezpieczyć... Wiem że powinno zabezpieczać się WSZYTKO, tylko jak zabezpieczyć to.
Go to the top of the page
+Quote Post
tehaha
post
Post #4





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
Quantum
post
Post #5





Grupa: Zarejestrowani
Postów: 450
Pomógł: 84
Dołączył: 27.11.2008
Skąd: Warszawa

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


nie ma sensu nic zabezpieczać, zawsze gdy nie będzie pasować do żadnego case wybierze default i to wszystko
Go to the top of the page
+Quote Post

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: 4.10.2025 - 21:05