Autor Zpráva
srigi
Profil
Hi,
viem ze je toto dost nebezpecne, ale pouzivam vo svojej aplikacii "include" podla $_GET. Jednoducho mam sablonu, ktora je v "index.php" a do neho natahujem uz konkretnu stranku (tiez php). No a potreboval by som riesitenie ako zabranim spusteniu toho natahovaneho php suboru mimo kontext "index.php". Jednotlive natahovane skripty nemozem umiestnit mimo "document root"!
THX srigi.
Peca
Profil
Nevím jestli jsem to dobře pochopil. Ale dalo by se ty soubory umístit do nějakého adresáře a název toho adresáře nikde nezveřejňovat. Ten index.php by si ho doplnil sám.
24k
Profil *
tak si dej do kazde one stranky , pokud se bojis ze si to nekdo bude prohlizes aniz by to volal pres $_GET ( cili ?page=nejakastranka )

tak do kazde te osamocene stranky si dej toto

if ($CODE!="32fds")
die("TOTO SE PROHLIZI POUZE PRES INDEX.PHP");


a v index.php tam kde mas ten kod na include si das nekam vejs $CODE="32fds";
srigi
Profil
24k >> celkom good, ale vraj to ide nejako cez .htaccess subor. Nevedel by niekto ako?
24k
Profil *
Vecer ti vymyslim vic zpusobu ... ted musim letet kdyz tak ozvi pak nak pozdejc # 176-031-471

Resp. kdyz si ty soubory das do adresare Str_a_nKy

a z nich to budes tahat, tak by me zajimalo kdo by na to prisel kde je mas takto ulozene a prohlizes si je samostatne.
PA
tiso
Profil
Do každého include súboru si na začiatok napíš toto:

<?php
if ($_SERVER["PHP_SELF"]=="/index.php"){
header("HTTP/1.1 403 Forbidden");
die("zakázaný prístup"); //vypisanie hlasky
}

//dalsi obsah stranky
?>

...dúfam že máš ošetrenie pred vkladaním neexistujúcich stránok (switch, alebo cez pole, alebo inak)
medden
Profil *
Zvyčajne sa to robí pomocou define (hlavne PHP knižniciach):

// index.php
define('SRIGI_PROGRAM', 1); // :-)
include($_GET['page']); //alebo čo tam máš

// stránka
if(!defined('SRIGI_PROGRAM')) {
die('Musíte pristupovať cez index.php!');
}
srigi
Profil
Super, vdaka, viac mi netreba.
Toto téma je uzamčeno. Odpověď nelze zaslat.

0