Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Blokowanie określonych rozszerzeń w podanym katalogu
Forum PHP.pl > Forum > Serwery WWW
Raz0r
Zastanawiałem się ostatnio czy można zablokowac wykonywanie określonych typów plików w wybranym katalogu. Przydatne byłby to w wypadku uploadu plików. Apache nie dopuściłby do otwarcia pliku o rozszerzeniu np. .php w katalogu localhost/uploads... Czy istnieje taka możliwośc??
Istalacar
Na szybko przychodzi mi na myśl żeby ustawić mime type dla php na text/plain w owym katalogu.
Poza tym można by zablokować możliwość przeglądania tego folderu dla osób z zewnątrz (dostęp na hasło), skrypt php na serwerze zapisze tam plik, ale osoby postronne nie będą mogły ich zobaczyć.
Raz0r
Cytat(Istalacar @ 27.02.2009, 18:06:06 ) *
Na szybko przychodzi mi na myśl żeby ustawić mime type dla php na text/plain w owym katalogu.


To z poziomu PHP, a mi chodzi o podstawe, czyli Apacha biggrin.gif

Cytat(Istalacar @ 27.02.2009, 18:06:06 ) *
Poza tym można by zablokować możliwość przeglądania tego folderu dla osób z zewnątrz (dostęp na hasło), skrypt php na serwerze zapisze tam plik, ale osoby postronne nie będą mogły ich zobaczyć.


Raczej chodziło mi o coś w stylu Errora 404 (albo 403), gdy ktoś wpisze poprawna ścieżke do pliku lub żeby po prostu nie stało się NIC po podaniu adresu do skryptu .php
Istalacar
Mime-type: http://pl.wikipedia.org/wiki/Multipurpose_...Mail_Extensions (pierwszy link po wpisaniu w google "wiki mime type").
W apachu: http://httpd.apache.org/docs/1.3/mod/mod_mime.html (pierwszy link po wpisaniu w google "apache mime type").
Jak masz apacha to masz i htaccess: http://www.javascriptkit.com/howto/htaccess9.shtml (pierwszy link po wpisaniu w google "htaccess mime type").

Z reguły się nie irytuję, ale jak się nie znasz, to proszę nie pouczaj innych. Generalnie człowiek powinien podwyższać średnią inteligencję krajową, a nie ją zaniżać. Postawa "Ja, ja nie wiem - dlatego chcę się wypowiedzieć", generalnie umieszcza Ciebie w grupie zaniżającej.
Btw. nie wiem jakim cudem byś chciał zmienić typ pliku w momencie jego wywołania do serwera przez skrypt php do którego nie masz dostępu (albo nie od Ciebie zależy jego zawartość). (Tak to zdanie nie ma sensu).
Raz0r
Chyba jednak wciąż nie do końca się rozumiemy...
Nie mam zamiaru ingerowac w plik nadesłany przez użytkownika, modyfikowac w jego mime type itp. User powinien bez problemu wgrac plik .php na serwer do określonego katalogu, ale już po wywołaniu go z pasku adresu np. localhost/upload/test.php Apache ma zwrócic błąd 403 (Forbidden) lub 404 (Not Found)... chociaż plik znajduje się na serwerze...
Istalacar
Sprawdź do czego służą pliki htaccess + połącz to z linkiem numer 3...

Efekt 403 forbidden - wpisz w pliku htaccess w danym katalogu:
Kod
Deny from all


404 - kombinuj z mod_rewrite, serwer generalnie nie wypluwa 404 jeśli plik istnieje.

I proszę, zanim napiszesz następnego posta, dowiedz się czym są, do czego służą pliki htaccess i gdzie się je umieszcza.
+ dodatkowo mime type, o którym nadal nic nie wiesz, a mnie pouczasz...
Raz0r
Dobra, poszukałem po necie i dowiedzialem się, że trzeba wrzucic to:

Kod
<Files "*.php">
Deny from all
</Files>


do httpd.conf . Jednak w tym przypadku blokuje mi to pliki *.php na całej stronie, a ja chce tylko w wybranym katalogu...
ShadowD
Ktoś już pisał byś sobie poczytał...

Poszukaj o .htaccess
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.