Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: bezpieczne urle ze zmiennymi
Forum PHP.pl > Forum > Przedszkole
Gość_endrju
Witam
mam pytanie odnosnie urli i pobierania z nich zmiennych
za wstawienie elementu stronki odpowiedzialny jest include co w przypadku
Kod
?page=main


wyswietla strone główna ale daje tez mozliwosc umieszczenia dowolnego kodu z innej stronki po wpisaniu jej adresu

Cytat
?page=http://www.innadomena ....index.php



pytanko czy istnieje skuteczny i w miarę prosty sposob ochrony przed includowaniem "obcych " plików czy tez lokalnych np z etc/passwd, ale nie przeznaczonych do includowania
za wskazówki i podpowiedzi z góry dzieki
invx
w tym wypadku nie istnieje, ale to zalezy co w tych plikach bedzie
Gość_endrju
czysty text
jesli w tym wypadku nie da rady to czy mozna ograniczyć includowane pliki tzn zapisać w jakiś sposób nazwy aby get nie brało innych nazw niz te ktore są zdefiniowane ?
seaquest
jezeli includujesz pliki, to daj kod

  1. <?php
  2. if ( eregi ( '../' , $_GET['page'] ) or eregi ( 'http://' , $_GET['page'] ) )
  3. {
  4. die ( 'Wystąpił błąd translacji URL' );
  5. }
  6. if ( file_exists ( './includes/' . $_GET['page'] . '.inc' ) )
  7. {
  8. include ( './includes/' . $_GET['page'] . '.inc' );
  9. }
  10. else
  11. {
  12. die ( 'ERROR 404: Podana strona nie istnieje' );
  13. }
  14. ?>

Wiem, że z tymi eregi można w jednym, ale nie jestem na tyle dobry smile.gif
Gość_endrju
eregi rozumiem ze wykluczają dane zmienne
ale czym jest
Kod
'.inc'
? smile.gif boze banalne ale po prostu nie wiem
sf
.inc to rozszerzenie... problem jest taki, ze musisz zabezpieczyc katalog, w ktorym te pliki sa bo inaczej moze je ktos podpatrzec, dlatego ja wole uzywac .php tongue.gif
Gość_endrju
Cytat
ze musisz zabezpieczyc katalog, w ktorym te pliki sa bo inaczej moze je ktos podpatrzec, dlatego ja wole uzywac .php

ok zabezpieczyc w jakim celu ?
nazwy plików znał bedzie każdy kto wywoła odnosnik, a brak egzotycznych rozszerzen dla plików czyli zwykłe .php daje info o całosci nazwy pliku
pozdro
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.