Diskuze: základní dotaz ohledně PHP include

PHP PHP základní dotaz ohledně PHP include American English version English version

Avatar
bajtcz
Člen
Avatar
bajtcz:

Ahoj, omlouvám se, že se někomu bude tento dotaz zdát trapně lehký, ale teprve se učím a chci se zeptat. Mám dejme tomu 5 podobných stránek a v každé z nich stejný php kód pro logovací panel. Nechci, ale mít všude ten stejný kód, protože pokud bych chtěl něco upravit, musel bych to všude překopírovat. Právě pro to, bych chtěl využít php funkci include a načíst vždy php soubor s daným panelem, ale moje otázka zůstává jak zabránit uživateli, aby mohl do prohlížeče zadat url souboru s panelem. Nechci, aby se skript vykonal jen tak.

Děkuji za odpověď a pochopení otázky :)

 
Odpovědět 28.11.2014 19:40
Avatar
Tonda Kozák
Člen
Avatar
Tonda Kozák:

Normální uživatel by se adresu logovacího souboru neměl vůbec dozvědět. Z kódu stránky PHP kód nevyčte.

Pro úplné vyloučení takové situace můžete kontrolovat, jaké je adresa stránky, ve které se bude soubor zpracovávat a pokud bude stejná jako ten logovací soubor, tak skript neprovést:

if ($_SERVER["REQUEST_URI"] == "/log-panel.php") {
 exit("Přístup zamítnut");
}
 
Nahoru Odpovědět 28.11.2014 19:49
Avatar
Fredep
Redaktor
Avatar
Odpovídá na bajtcz
Fredep:

Může se to dělat přes soubor .htaccess, kde zakážeš přístup do zvolených složek nebo souborů, nebo to můžeš udělat tak, že na veřejné stránky vložíš na začátek např

define("MATE_PRISTUP", true);

a následně na všech ostatních stránkách ověříš, zda tato konstanta existuje

defined("MATE_PRISTUP") or die(); //vykopne uzivatele
Nahoru Odpovědět 28.11.2014 20:05
Týmová práce je důležitá proto, aby bylo možno obvinit z neúspěchu někoho jiného.
Avatar
Odpovídá na bajtcz
Martin Konečný (pavelco1998):

Udělej si nějakou složku, do které naházíš soubory, které includuješ. Do té složky přidej soubor .htaccess, kde budeš mít

deny from all

to způsobí, že se do té složky nikdo přes URL nedostane (mělo by to hodit chybu 403 - forbidden (zakázaný přístup)). PHP se do té složky dostane, takže ty soubory v ní includovat můžeš.

Editováno 28.11.2014 21:22
Akceptované řešení
+20 Zkušeností
+1 bodů
Řešení problému
 
Nahoru Odpovědět  +1 28.11.2014 21:21
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 4 zpráv z 4.