Zabezpečení přístupu – PHP – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Zabezpečení přístupu – PHP – Fórum – Programujte.comZabezpečení přístupu – PHP – Fórum – Programujte.com

 

D-Fox0
Stálý člen
19. 11. 2007   #1
-
0
-

Mám klasicky stránku index.php s funkcí na includování článků (index.php?topic=stranka). Celou (jen index.php) jí mám zaheslovanou pres SESSION... Nevím ale jak zabezečit aby includované stránky nešli samostatně zobrazit. Např když jsem na stránce "www.jmenodomeny.cz/index.php?topic=stranka" tak aby člověk nemohl zobrazit stránku www.jmenodomeny.cz/stranka.php", která je ve stejné složce jako index.php. nechce se mi do každé stránky kterou includuji dávat nějaké kontroly... Napadlo mě jedině že bych všechny (kromě index.php) naházel do adresáře a tomu odebral práva číst psát a zapisovat. Nevím jak se toto má správně řešit. Uvítám věechny vaše odpovědi.

Nahlásit jako SPAM
IP: 213.220.207.–
Prog.0
Věrný člen
19. 11. 2007   #2
-
0
-

Ten postup čo si načrtol je ok. Aby si vedel zakázať zobrazenie súboru, musíš trocha rozumieť fungovaniu web servera, ktorý používaš. (predpokladám že Apache) Najjednoduchšie to bude premiestnením všetkých súborov do jedného adresára. Apache-u potom povieš, že do tohto adresára je prístup zakázaný. PHP však bude súbory môcť čítať naďalej.

Je viac možnosti, ako prístup zakázať:
a) v konfiguračnom súbore httpd.conf:

<directory "cesta/k/danemu/adresaru">

..
Deny from all
..
</directory>


Free hostingy ale neumožnujú prístup do tohto súboru. A nieje to práve najpriehľadnejšie riešenie - ak by si takto chcel nastavovať rôzne parametre pre množstvo rôznych adresárov, bol by to poriadny bordel..

b) Existuje aj možnosť konfigurovať správanie sa jednotlivých adresárov (napríklad aj prístup k nim) pomocou maličkých textových súborov, väčšinou zvaných ".htaccess". Vytvor tento súbor v adresári, do ktorého chceš zakázaťprístup a napíš doň len jeden riadok:

.htaccess

deny from all




Môžeš ísť na to opačne. Maj viac súborov, každý bude mať svoju adresu (www.jmenodomeny.cz/index.php, www.jmenodomeny.cz/stranka.php, ...) a každý súbor bude na začiatku obsahovať:
require "./pristup.php" ten súbor sa tak bude spracúvať pri každom súbora a postará sa o všetko, čo treba (sessions, ...).

Nahlásit jako SPAM
IP: 213.160.186.–
Prog.
hrach
~ Redaktor
+1
Boss
19. 11. 2007   #3
-
0
-

no, a nebo treba pozmenit strukturu souboru a treba v nich definovat funkci... kterou potom budes volat... -> ale ten predchozi zpusob je lepsi.. ;)

Nahlásit jako SPAM
IP: 193.179.169.–
http://jan.skrasek.com@hrachcz – webdeveloper
D-Fox0
Stálý člen
19. 11. 2007   #4
-
0
-

To Prog. : Dík za odpovědi.. Jen by mě zajímalo, když přistup zamítnu pro danou složku jestli se to projeví i pro podsložky a nebo jestli se oprávnění nastavuje zvlášť. A druhá otázka: Předpokládám že toto jde nastavit na všech komerčních webhostingech.

Nahlásit jako SPAM
IP: 213.220.207.–
hrach
~ Redaktor
+1
Boss
19. 11. 2007   #5
-
0
-

To D-Fox : na vsechny otazky odpoved je ano ;)

Nahlásit jako SPAM
IP: 193.179.169.–
http://jan.skrasek.com@hrachcz – webdeveloper
Binary Ranger0
Věrný člen
20. 11. 2007   #6
-
0
-

alebo môžeš použiť metódu, ktorú používam aj ja na oncludovanie modulov, aby moduly v mojom systéme nemohlii byť načítané samostatne:
na začiatku súborku, ktorý ide moduly includovať a má na to právo definuješ konštantu

DEFINE("NAZOV",true);


a na začiatku každého modulu overíš či daná konštanta bola definovaná a ak nie tak nezobrazí obsah

if (NAZOV != true){die("NEPOVOLENÝ PRÍSTUP");}


Nahlásit jako SPAM
IP: 91.127.128.–
Phoenix0
Super člen
20. 11. 2007   #7
-
0
-

To Binary Ranger : nevrátí ten tvůj kód náhodou warning že NAZOV není definován?
Lepší by bylo

if(!defined("NAZOV")die("NEPOVOLENÝ PŘÍSTUP!");

Nahlásit jako SPAM
IP: 85.70.88.–
Binary Ranger0
Věrný člen
20. 11. 2007   #8
-
0
-

njn, nakoniec som si všimol že aj ja to tak používam, ale to som tu len rýchlo napísal, no pointa je rovnaká :) ...

Nahlásit jako SPAM
IP: 91.127.128.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 39 hostů

Podobná vlákna

Include - zabezpečení — založil RolandN

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý