Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Filtracja danych przekazywanych metodą GET
Forum PHP.pl > Forum > PHP
atasze
Witam,
mam następujący problem,
otoz jesli w pasku przegladarki wpisze nastepujacy adres
http://strona.pl/index.php?strona=1
to strona wyswietla sie prawidlowo natomiast jesli wpisze tak
http://strona.pl/index.php?strona=/1
to strona tez zwraca poprawny wynik a nie powinna
jak to zrobić smile.gif zeby wpisując w ten sposob wyskakiwał komunikat
  1. <?php
  2. echo "Nie ma takiej strony :-(";
  3. ?>

Tutaj mam moj kodzik:
  1. <?php
  2. $strona = htmlspecialchars($_GET['strona']);
  3. // sprawdzamy czy zmienna $strona nie jest pusta
  4. if(!empty($strona)) {
  5. // sprawdzamy czy plik o danej nazwie istnieje
  6. if(is_file("page/$strona.php")) include "page/$strona.php";
  7. // jezeli plik nie istnieje wyswietla się komunikat
  8. else echo "Nie ma takiej strony :-(";
  9. }
  10. // jezeli zmienna $strona jest pusta wyswietla się strona glowna
  11. else include "page/start.php";
  12. ?>
ave
  1. <?php
  2.  
  3. if(file_exists(basename ($_GET['strona']).'.php')) include('page/'.basename($_GET['strona']).'.php')
  4. else include "page/start.php";
  5. ?>

ladniej i pewniej smile.gif

Edit nie basedir a basename biggrin.gif
atasze
Cytat(ave @ 24.10.2007, 01:34:18 ) *
  1. <?php
  2.  
  3. if(file_exists(basename ($_GET['strona']).'.php')) include('page/'.basename($_GET['strona']).'.php')
  4. else include "page/start.php";
  5. ?>

ladniej i pewniej smile.gif


Nie o to mi chodzi zresztą w skrypcie masz błąd biggrin.gif
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.