Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] include
Forum PHP.pl > Forum > Przedszkole
jol.us_
W pliku index.php mam
Kod
include("inc/costam.php")

Chce zablokowac calkowicie mozliwosc podgladu tego pliku z osobna (poza index.php).
Czyli jakby ktos sobie wpisal adres: http://www.strona.pl/inc/costam.php
to mu wyskoczy jakis napis informujacy o braku mozliwosci ogladania.

Czy jest mozliwosc, jesli tak to jak to zrobic?
Paul
Jest wiele mozliwosci, mozesz zrobic odpowiedniego chmoda, zeby gosc nie mial do tego dostepu (nie wszedzie to bedzie dzialac, po pierwsze trzeba linuxa, a po drugie to zalezy od konfiguracji)
party
Możesz zdefiniowac jakąś wartość w pliku index.php, a w pliku costam.php zrobić warunek, że jeżeli nie jest zdefinipowana to nie ma ogladania tongue.gif

index.php
  1. <?php
  2. define( 'IN', true );
  3.  
  4. include( 'inc/costam.php' );
  5.  
  6. // kod php
  7. ?>


inc/costam.php
  1. <?php
  2. if( !defined( 'IN' ) )
  3. {
  4.  exit();
  5. }
  6.  
  7. // kod php
  8. ?>


& #33; = !
jol.us_
I nie ma mozliwosci ominiecia czegos takiego?
Zbłąkany
Możesz też dać coś takiego:
  1. <?php
  2. if(basename($_SERVER['PHP_SELF'])==basename(__FILE__)){
  3. die(&#092;"Nieautoryzowane wywołanie pliku!!!\");
  4. }
  5. ?>

Skrypt ten sprawdza czy dany plik został wywołany bezpośrednio z przeglądarki a nie przez dołączenie. A jeśli bezpośrednio to go zamyka i wyświetla komunikat o nieautoryzowanym wywołaniu pliku smile.gif oczywiście pomocne jest jeśli takowy plik wrzucisz powyżej głównego katalogu na serwerze tak aby nie było do niego dostępu z przeglądarki smile.gif
Paul
Twoje rozwiazanie nie jest idealne Zbłąkany. Jesli plik o nazwie a.php includuje plik o takiej samej nazwie w innym folderze to takze wyskoczy nieautoryzowane wywolanie pliku...

Dzieje sie tak poniewaz porownujesz same nazwy plikow...
Zbłąkany
Paul masz rację, ale zakładam, że taki plik będzie mieć nazwę inną niż ten, z którego jest includowany smile.gif
mls
Rozwiązanie które podsunął Partyzant jest jak najbardziej słuszne i powinno wystarczyć. Przed include zdefiniuj jakąś zmienną lub stałą, którą odczytuj w includowanym pliku. W przypadku, jeśli jej nie będzie - robisz die() lub exit() i tyle smile.gif
jol.us_
Dzieki za rady. Osobiscie przypadl mi do gustu sposob Partyzant-a. Na php.net tez podaja to rozwiazanie jako optymalne.
hwao
Ablo kod z plikach zalonczanych trzymac w funkcjach/klasach winksmiley.jpg
Zepco
A .httaccess dałoby się to wykonać?
Chewolf
Cytat(Zepco @ 2004-07-09 19:42:48)
A .httaccess dałoby się to wykonać?

Tak, oczywiscie smile.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.