Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [Smarty] zabezpieczenie .tpl
Forum PHP.pl > Forum > Gotowe rozwiązania > Systemy szablonów
Lee
Mam problem, otóż jak wiadomo gdy się wejdzie z adresu przeglądarki do /templates/nazwa_pliku.tpl to wyświetli się jego cały kod, no i tu moje pytanie. Jak czemuś takiemu zapobiec?
strife
Poprzez .htaccess możesz to zrobić:

Kod
RewriteEngine on

RewriteCond %{REQUEST_URI} \.tpl$
RewriteRule .* - [F]
Jabol
umieszczaj templaty w katalogu poza htdocs
sf
Cytat(Jabol @ 9.02.2007, 23:14:05 ) *
umieszczaj templaty w katalogu poza htdocs

A ja nie ma takiego katalogu i co? blinksmiley.gif

Wystarczy chyba taki wpis w katalugu gdzie masz tpl:
Kod
Deny from all
Lee
Cytat(strife @ 9.02.2007, 22:16:46 ) *
Poprzez .htaccess możesz to zrobić:

Kod
RewriteEngine on

RewriteCond %{REQUEST_URI} \.tpl$
RewriteRule .* - [F]

Działa smile.gif ten z Deny from all psuje wszystko, bo nie pozwala nawet skryptowi na dostęp do tych plików winksmiley.jpg
Jabol
Cytat(sf @ 10.02.2007, 11:28:05 ) *
A ja nie ma takiego katalogu i co? blinksmiley.gif

No bo nie chodzi o to, żeby katalog się tak nazywał. Po prostu chodzi o katalog który udostępnia Twój (czy inny serwer). Umieszczaj szablony podan nim. Możesz swoją drogą trzymać szablony w bazie danych (tak - smarty to obsługuje).
Saladin
ustaw chmod na pliki tpl by tylko 'localhost' mógł z nich korzystać.
Jabol
Cytat(Saladin @ 17.02.2007, 16:49:42 ) *
ustaw chmod na pliki tpl by tylko 'localhost' mógł z nich korzystać.

Chmodem tego się nie ustawi winksmiley.jpg.
sf
Cytat(Jabol @ 10.02.2007, 18:59:45 ) *
No bo nie chodzi o to, żeby katalog się tak nazywał. Po prostu chodzi o katalog który udostępnia Twój (czy inny serwer). Umieszczaj szablony podan nim. Możesz swoją drogą trzymać szablony w bazie danych (tak - smarty to obsługuje).


Nie każdy hosting takie coś posiada winksmiley.jpg Zresztą na OpenBSD domyślnie jest chroot i nie pozowala Ci wyjść z tego katalogu przeznaczonego wyłącznie na www. Co do przechowywwania w bazie to nie jest to zbyt optymalne ani wygodne, ale dzięki za informacje, że istnieje taka możliwość bo nie wiedziałęm tongue.gif
Saladin
Cytat(Jabol @ 17.02.2007, 18:09:34 ) *
Chmodem tego się nie ustawi winksmiley.jpg.

Rzeczywiście, mój błąd, palnąłem coś, co przeczytałem w innym źródle bez sprawdzenia (chodziło mi o chmod 770 - rzeczywiście nie działa).
Za to sprawdziłem ten sposób, działa dobrze:
tworzymy plik .htaccess z zawartością:
Kod
ordner deny allow
deny from all

Smarty działa bez problemu, a gdy próbujemy odpalić plik tpl (albo w ogóle wejść do danego folderu) dostajemy "500 intrnal server error" - możemy także zabezpieczyć tak inne foldery (cache, template_c itp, itd).
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.