Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Czy trzeba zabezpieczać switch?
Forum PHP.pl > Forum > Przedszkole
!*!
  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.
Quantum
case 'start:include 'start.html';break; -> case 'start': include 'start.html';break;
!*!
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.
tehaha
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. }
Quantum
nie ma sensu nic zabezpieczać, zawsze gdy nie będzie pasować do żadnego case wybierze default i to wszystko
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.