PDA

Zobacz pełną wersję : Zablokowanie dostępu do podkatalogu dla niezarejestrowanych użytkowników



basell
26-02-2012, 19:19
Witam
Szukałem, szukałem i nie znalazłem rozwiazania.
Mam Joomla 1.5.25, na której mam psią stronę. Poza tym w jednym z podkatalogów (Images/Psy/....)znajduje się galeria zdjęć ale wykonana w Jalbumie. Galeria ma w sumie ponad 2000 zdjęć i ich obrabianie na serwerze byłoby po pierwsze strasznie zasobożerne, a po drugie powolne dlatego jest wykonana poprzez zewnętrzne oprogramowanie. Ze względu na pewne okoliczności muszę zablokować dostęp do tej galerii i udostępnić ją tylko dla użytkowników zalogowanych.
Mam takie pytanie: Czy da się zablokować dostę do tego katalogu i wszystkich jego podkatalogów tak, aby ktoś kto kliknie na linka do galerii (czasami są to linki z innych stron internetowych do poszczególnych zdjęć) został automatycznie przerzucony do modułu logowania joomla (żeby zarządzanie użytkownikami było z poziomu joomli). A galeria żeby się wyświetlała wyłącznie użytkownikom zalogowanym?

alex51
27-02-2012, 07:53
Można sprawdzić zastosowanie automatycznego przekierowania na stronę logowania za pomocą ukrytego menu (http://forum.joomla.pl/showthread.php?27253-Automatyczne-przekierowanie-na-stron%C4%99-logowania). Opisane jest to też na wiki (http://wiki.joomla.pl/index.php/Automatyczne_przekierowanie_na_stron%C4%99_logowan ia).

basell
27-02-2012, 15:14
To niestety nie rozwiązuje problemu. Trzeba pamiętać, że galeria sama w sobie nie jest częścią CMS-u. Znajduje się tylko w podkatalogu.
Joomla linków do tej galerii nie traktuje jak swoich, nie generuje ich i nie zarządza nimi. To jest tak jakbyś w katalogu np. images/xxxxx umieścił powiedzmy zdjęcie yyy.jpg. Bezpośredni link do tego zdjęcia będzie:
domena.pl/images/xxxxx/yyy.jpg
Z poziomu strony wszystko jest do zrobienia, i to rozwiązanie co podałeś powyżej będzie ok. Tylko problem mam z linkami zewnętrznymi. Jeżeli już ktoś wejdzie na tą galerię i skopiuje link bezpośredni to będzie omijał joomle i wchodził bezpośrednio, bez logowania.
Dlatego chodzi mi o sposób zabezpieczenia całego katalogu. Co zrobić - jakiś dodatkowy skrypt, czy może jeszcze inaczej - aby w momencie kiedy ktoś próbuje otworzyć cokolwiek w tym katalogu było sprawdzane, czy jest zalogowany do joomli. Jak jest to moze przejść dalej, jak nie to przerzuca go do logowania.

---------- Post dodany o 15:14 ---------- Poprzedni post był o 08:37 ----------

Częściowym rozwiązaniem jakie znalazłem to zablokowanie dostępu poprzez plik .htaccess, który jest automatycznie tworzony do blokowania dostępu przy użyciu opcji z cPanela. Tylko czy jest jakaś możliwość zmiany tego pliku, żeby było sprawdzane czy dany użytkownik jest zalogowany do joomli i jeżeli tak to go przepuszcza jeżeli nie to do modułu logowania. Bo w tym momencie do każdego katalogu muszę tworzyć osobną bazę użytkowników i haseł co jest uciążliwe. dodam tak pro forma, że jestem zielony w tej tematyce więc proszę o wyrozumiałość :)

ramiro
03-03-2012, 17:20
Można spróbować poprzez plik htaccess

w katalogu administratora tworzysz plik .htaccess z wpisem:

AuthName "komunikat jaki ma sie wyswietlac"
AuthType Basic
AuthUserFile //sciezka bezwzgledna do pliku z haslem/.htpasswd
Require valid-use

w tym samym katalogu tworzysz plik .htpasswd do ktorego wpisujesz login i haslo.

Nie wiem jak wygląda ułożenie katalogów w jalbumie dlatego nie wiem czy to pomoże.

Można też spróbować po prostu przez konto administracyjne cpanel zabezpieczyć dany katalog.

//sorry nie doczytałem.
Możesz ustalić poprzez plik .htaccess aby katalog był dostępny tylko dla danych adresów IP.

Pozdrawiam serdecznie.