Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]blokada dostepu bezposredniego do pliku
Forum PHP.pl > Forum > Przedszkole
dudi1261
Witam.

Postanowilem wykorzystac swoja wiedze w php i napisac wlasnego cmsa. Moj cms nie bedzie potrzebowal systemu szablonow wiec wzorowalem sie na cmsie webspell.

do index.php w miejscu wyswietlania podstron wstawilem kod:

  1. <?
  2. if(!isset($site)) $site="aktualnosci";
  3. //Sichheitsl&uuml;cke beheben
  4. $invalide = array('/','/\/',':','.');
  5. $site = str_replace($invalide,' ',$site);
  6. if(!file_exists($site.".php")) $site = "aktualnosci";
  7. include($site.".php");
  8. ?>



Nastepnie stworzylem plik aktualnosci i uruchomilem mod_rewrite:

Kod
RewriteRule ^aktualnosci$ index.php?site=aktualnosci [L]


Dostep do cmsa jest wiec mozliwy w kilka sposobow:

http://dudix.wilan.pl/fe/

http://dudix.wilan.pl/fe/index.php?site=aktualnosci


http://dudix.wilan.pl/fe/aktualnosci

http://dudix.wilan.pl/fe/aktualnosci.php - Ladujac plik w ten sposob wyswietla sie jego zawartosc bez zawartosci strony (index.php). Muszę zablokowac dostep bezposredni do aktualnosci i innych w przyszlosci tworzonych podstron.

Jak tego dokonac?

Mnichasso
można by zrobić na zasadzie ustawiasz jakas zmienna w pliku index.php i sprawdzasz ja w aktualnosci.php czy jest ustawiona winksmiley.jpg

ew sprawdzanie adresu z jakiego wszedł user smile.gif


nie wiem czy to dobre rozwiązane ale tylko takie cos mi przyszło do głowy
deniol13
na poczatku pliku do zabezpieczenia daj

if(!definied( 'IN_SCRIPT' ))
{
die();
}


a plik który ma to includować to na początku daj
define ( 'IN_SCRIPT' , TRUE );
dudi1261
zrobilem sposobem Mnichasso, dajac instrukcje warunkowa i dzialalo, ale to za duzo miejsca zajmuje

deniol13, Twoj sposob okazal sie lepszy, ale popelniles blad, bo napisales definied zamiast defined, ale to literowka smile.gif Macie po plusie

Dzieki
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.