Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Jak zrobić katalog zabezpieczony przed hotlinkiem
Forum PHP.pl > Forum > Przedszkole
cent4
Mam katalog, a w nim dużą ilość skryptów obsługujących bazę danych - jak zabezpieczyć ten katalog?
Chodzi o to, żeby zrobić tak, aby po zalogowaniu użytkownicy mogli się odwoływać do tego katalogu i tych skryptów poprzez menu, które im się wyświetli, a żeby bez zalogowania nie było takiej możliwości.
Croos22
Zakładam, że korzystasz z sesji przy logowaniu więc wystarczy jedna instrukcja warunkowa.

Np.

  1. if($_SESSION["zalogowany"] == 0){
  2. echo 'Nie ma dostępu!!!';
  3. } else {
  4. echo 'Strona dla zalogowanych';
  5. }


cent4
ok.
Ale chodzi o to, ze ktoś może wywołać sobie skrypt samemu:
www.storna.pl/ukryty_katalog/skrypt1
a mi chodzi, że jak ktoś wywoła taki link bez zalogowania to nie będzie mógł tam wejść, ani go wywołać.
Tak korzystam z sesji.
thek
Zabezpieczyć cały katalog z poziomu htaccess przed dostępem i stworzyć skrypt pośredniczący, który wywołuje te funkcje, sprawdzając, czy user ma do tego prawo, choćby poprzez sprawdzanie sesji właśnie.
cent4
zabezpieczyłem pliki sesjami:
  1. <?php
  2. if((isset($_SESSION['user_id'])) != '' && (isset($_SESSION['login'])) != '') {
  3. ?>


i działa :-).

Czy katalog też muszę zabezpieczać?
Jeśli tak co w tym pliku wpisać?
worek
Ja bym polecał w ten sposób zabezpieczyć że po zalogowaniu tak jak poprzednik pisał $_SESSION['autoryzacja'] = 1 Lepszego sposobu nie ma, co do htaccess to odcinasz dostęp tylko crawlerom jak dobrze mi się wydaje.
thek
Nie tylko crawlerom, ale jakiejkolwiek próbie dostania się do skryptu z poziomu wyszukiwarki. Dostęp do takiego katalogu mają jedynie skrypty wywołujące poprzez include, require czy wszelkiego rodzaju loadery lokalne. Wystarczy więc zrobić JEDEN skrypt, który będzie miał do tego dostęp i będzie po problemie. Poza tym skryptem nic innego nie będzie się tam mogło dostać. A chyba o to chodzi.
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.