Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] Problem z include, podfoldery, basename
phpproblem
post
Post #1





Grupa: Zarejestrowani
Postów: 1
Pomógł: 0
Dołączył: 12.09.2008

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


Ok, mam taki skrypt includujacy:

  1. <?php
  2.      $go = $_GET['strona'];
  3.      
  4.  
  5.      if(!empty($go)) {
  6.  
  7.          if(is_file("$go.html")) include "$go.html";
  8. if(is_file("$go.php")) include "$go.php";
  9.          else echo "<br />";
  10.      }
  11.  
  12. else include "home/wiadomosci.php";
  13.      
  14. ?>


I ten skrypt podobno nie jest bezpieczny...

wiec przeczytalem ten temat:
http://forum.php.pl/index.php?showtopic=30056&st=0

I uzulem tego kodu z tego postu (http://forum.php.pl/index.php?showtopic=30056&st=0):

  1. <?php
  2. if(file_exists('skrypty/'.$page.'.php')){
  3.  include ('skrypty/'.basename($page.'.php'));
  4. }else{
  5.  include ('skrypty/glowna.php');
  6. }
  7. ?>


I teraz jest taki problem:

Skrypt dziala ladnie, ale includuje pliki .php tylko z foleru "skrypty" a z podfolderow juz nie includuje zadnych plikow...

np.
mojastronatestowa.com/index.php?page=testnews - DZIALA

a to Nie Dziala
mojastronatestowa.com/index.php?page=skrypty/home/testnews
mojastronatestowa.com/index.php?page=home/testnews

Moglby ktos mi powiedziec jak dodac ten "basename" (zakladam ze poprawia to bezpieczenstwo) do tego skryptu co ja uzywam?
  1. <?php
  2.      $go = $_GET['strona'];
  3.      
  4.  
  5.      if(!empty($go)) {
  6.  
  7.          if(is_file("$go.html")) include "$go.html";
  8. if(is_file("$go.php")) include "$go.php";
  9.          else echo "<br />";
  10.      }
  11.  
  12. else include "home/wiadomosci.php";
  13.      
  14. ?>


Jezeli ktos mialby jakis link do skryptu ktory includuje pliki tylko ze strony na ktorej sie znajduje, z includowaniem plikow z podfolderow itd., albo zna rozwiazanie mojego problemu, to prosze o pomoc!

Z gory dziekuje!
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 1)
marcio
post
Post #2





Grupa: Zarejestrowani
Postów: 2 291
Pomógł: 156
Dołączył: 23.09.2007
Skąd: ITALY-MILAN

Ostrzeżenie: (10%)
X----


http://www.egrafik.pl/manual-php-2006/function.basename.php
  1. <?php
  2.      $go = $_GET['strona'];
  3.      
  4.  
  5.      if(!empty($go)) {
  6.  
  7.          if(file_exists($go) && is_file($go.'.html')) {
  8.         $file = basename($go, '.html');
  9.         include($file);
  10.         }
  11.  
  12.          else echo "<br />";
  13.      }
  14.  
  15. else include "home/wiadomosci.php";
  16.      
  17. ?>

Cos takiego

P.S jednak to tez nie jest bezpieczne w 100% bo jest LFI chyba ze masz jakis .htaccess na podkatalogi, najlepiej rob sobie sztywne tablice z plikami ktore mozna includowac i sprawdzaj

http://haxite.org/index.php3?site=artykul&...view&id=824
http://haxite.org/index.php3?site=artykul&...view&id=792

Nie bede ci wszystkiego pisal poczytaj i zrob jak nalezy jak nie pozostaje ci switch()

Ten post edytował marcio 13.09.2008, 21:33:23


--------------------
Zainteresowania: XML | PHP | MY(SQL)| C# for .NET | PYTHON
http://code.google.com/p/form-builider/
Moj blog
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 19.08.2025 - 03:17