Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Adresowanie i problem z przekierowaniem
Forum PHP.pl > Forum > PHP
felixk
Witam, wiem, że kod, który jest poniżej jest lamerski i dziurawy, ale ja nie wiem jak go napisać, aby był bezpieczny. Dlatego też zwracam się z prośbą o pomoc. Czytałem te artykuły, które zostały mi polecone. Jednak za wiele z nich nie zrozumiałem.

  1.  
  2. $adres=$_GET['strona'].'.php';
  3. if (is_file($adres) && isset($_GET['strona']))
  4. {
  5. include($adres);
  6. }
  7.  


Druga sprawa, to powyższy dziurawy kod robi to, co chce. W chwili jednak gdy dołożę te kilka linijek poniżej. Wszystko się wali i jest dokonywane tylko samo przekierowanie. Powie ktoś czemu?

  1. if(!isset($_GET['strona']) || (!is_file($adres)))
  2. {
  3. header('Location: <a href="http://www.xxx.org/index.php&#39%3b%29;" target="_blank">http://www.xxx.org/index.php');</a>
  4. }


Z góry dziękuję za wszelkie rady.
bigZbig
Zrób tak
  1. $adres = isset($_GET['strona']) ? $_GET['strona'].'.php' : index.php;
  2. if (!file_exists($adres)) {
  3. header('Location: tu_wpisz_adres_www');
  4. }
  5.  
  6. include($adres);

felixk
Cytat(bigZbig @ 19.01.2010, 15:27:59 ) *
Zrób tak
[PHP] pobierz, plaintext
  1. $adres = isset($_GET['strona']) ? $_GET['strona'].'.php' : index.php;
  2. if (!file_exists($adres)) {
  3. header('Location: tu_wpisz_adres_www');
  4. exit;
  5. }
  6. include($adres);
[PHP] pobierz, plaintext


Nie działa. Jakieś inne propozycje?
neverever
  1. if(isset($_GET['strona']) && $_GET['strona']!='index'){
  2. if(!preg_match('/([a-zA-Z0-9_-]+)/', $_GET['strona'] )) { include 'blad.php'; }
  3. else if(file_exists($_GET['strona'].'.php')) include $_GET['strona'].'.php'; else include 'blad.php';
  4. }
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.