Jak wyłączyć PHP w wybranym katalogu?
07 kwietnia 2008
Mam specyficzną potrzebę. Piszę sobie oprogramowanie typu Multisite CMS. Od zwykłego CMS’a różni się to tym, że na jednym serwerze, na jednych plikach i jednej bazie danych mogę postawić nieskończenie wiele stron
Bardzo to wygodne chociaż skomplikowane przy projektowaniu. Ale ma ogromną przewagę nad innymi CMS’ami bo przy stawianiu kolejnych stron nie muszę za każdym razem instalować kolejnych plików, tworzyć kolejnych tabel w bazie danych itd.
Muszę pamiętać również o bezpieczeństwie. Z oprogramowania będą korzystały różne osoby. Z jednej strony, muszą mieć bardzo szerokie możliwości zmian i dodawania elementów do swoich witryn. Z drugiej, nie mogą mieć dostępu do PHP, nie mogą poznać kodu źródłowego, nie mogą mieć możliwości żadnych zmian silnika oprogramowania itd.
Każda strona ma swój osobny katalog w którym można zamieszczać potrzebne pliki np. grafikę, skrypty JavaScript itd. Dostęp do tego katalogu będzie poprzez panel administratora. Ale co zrobić aby nikt mi tam nie wsadził podejrzanych skryptów, które mogą narozrabiać na serwerze?
Znalazłem kilka sposobów ale zależało mi na tym, żeby zawartość plików PHP po prostu się wyświetlała w przeglądarce a większość rozwiązań powodowała rozpoczęcie ściągania pliku na dysk.
Co zrobić? Utworzyć plik .htaccess z taką zawartością:
AddType text/plain .php .php3 .php4 .php5 .inc .phtml .cgi .pl
Oczywiście listę rozszerzeń można dowolnie modyfikować. Ta linijka spowoduje, że zawartość wszystkich plików o wypisanych rozszerzeniach będzie traktowana jak zwykły tekst. Wszystko działa począwszy od katalogu w którym znajduje się plik .htaccess oraz głębiej w strukturze katalogów. Pamiętajcie o tym bo w skrajnym wypadku nasz kochany użytkownik usunie plik .htaccess i będzie robił co mu się podoba
Blog przede wszystkim o Internecie i mojej pasji jaką jest tworzenie stron www. Ale nie ograniczam się do jednej tematyki, piszę o wszystkim o czym mam ochotę :-)
Sceptyk napisał: 11.04.08 o godzinie 18:49
Dla kogo jest ta informacja? Amator nie tworzy systemów CMS a profesjonalista zna te zagadnienia.
MariuszT napisał: 11.04.08 o godzinie 18:53
Ty znasz, ja znam a ktoś może nie znać i pyta. Ludzie nie wiedzą jak sobie z tym poradzić na co dowodów dostarczy Ci google.pl. Jak masz takie idiotyczne komentarze wystawiać w stylu „po co pomagać innym?” to nie pisz lepiej nic.
Sceptyk napisał: 11.04.08 o godzinie 19:29
Nie pozostaje mi nic innego jak zacytować Ciebie: ” piszę o wszystkim o czym mam ochotę” pisać. Twoja uwaga zaś jest niestosowna. Nie lubisz krytyki? Wyłącz komentarze.
Skoro każdy ma prawo napisać swoje zdanie na temat tego, co w blogu jest i co nie łamie żadnych zasad (prawnych oraz netykiety), nie powinieneś aż tak nerwowo reagować.
MariuszT napisał: 11.04.08 o godzinie 19:35
Będę reagował nerwowo na idiotyczne komentarze
Też mam do tego prawo
Trzeba być trollem Internetowym żeby krytykować kogoś za to, że pomaga innym. Możesz się mnie czepiać o różne rzeczy ale do tego wpisu czepiasz się na siłę, tylko po to żeby mi dopiec. To lepiej idź się mądrować gdzie indziej.
Sceptyk napisał: 11.04.08 o godzinie 22:27
Wyłącz komentarze jeśli nie podoba Ci się to, co tu napisałem.
Nerwy zaś lecz u lekarza. Ja nim nie jestem. Mam prawo do napisania własnego zdania na temat, który tu poruszyłeś bo albo to miało na celu zapchanie bloga pierdołami albo poklask małolatów. Jedno i drugie jest w/g mnie prymitywne.
marrt napisał: 11.04.08 o godzinie 23:11
Dzieki. Dokladnie tego szukalem.
Dodalem rowniez jpg, gif i png – rownoczesnie załatwilem problem podpinania się pod obrazki. Do wyswietlenia uzywam skryptu wysylajacego najpierw prawidlowe naglowki. Dziala bezblednie.
MariuszT napisał: 11.04.08 o godzinie 23:44
Sceptyk, sam się lecz. Paradoksalnie właśnie komuś się przydała ta wskazówka chociaż pewnie powiesz, że sam dodałem komentarz żeby mieć usprawiedliwienie
Ja potrzebowałem takiego rozwiązania, znalazłem je więc się nim podzieliłem z innymi. Jak Ci się nie podoba wszystkowiedzący to zmiataj stąd. A prymitywne to są trolle Internetowe.
Sceptyk napisał: 12.04.08 o godzinie 0:18
Dokładnie takiej reakcji spodziewałem się po Tobie.
Argumentem jest dla Ciebie obraza kogoś, kto ma coś więcej do powiedzenia niż tylko „Dzięki, jesteś wielki”. Nie, nie jestes wielki. Szukasz poklasku ludzi, którzy nie znają google.pl .
Gratuluję…
MariuszT napisał: 12.04.08 o godzinie 0:37
Echh… Nie karmić trolla, nie karmić trolla
Muszę się tego trzymać
Sceptyk napisał: 12.04.08 o godzinie 1:43
Czy możemy trzymać się tematu? To nie jest dyskusja o trollach. To jest dyskusja o technologiach internetowych.
Sceptyk napisał: 12.04.08 o godzinie 9:26
Do rzeczy…
Plik htaccess musi być dostępny dla serwera WWW do odczytu czyli z reguły ma mieć flagę go -w a najlepiej ugo -w co binarnie przedstawia się r-x r-x r-x.
Szanowny Marusz zapomniał o prawach do zapisu plików bo głównie chodziło o jakieś multicośtam czym się obecnie zajmuje a nie o znajomość rzeczy i znów ma ochotę na poklask.
Żenada.
Amian napisał: 12.04.08 o godzinie 10:36
Wynocha trollu! Dwa miesiace temu szukałem jak sobie z tym poradzic. Naszukalem się tego kilkadziesiat minut. I widzialem, ze ludzie tez tego szukaja. Nie pierdol o uprawnieniach, własnie takiego myku szyukalem! Przypierdalasz sie bez powodu. Racje ma Mariusz, jak prawdziwy TROLL!!
Sceptyk napisał: 12.04.08 o godzinie 11:11
Nie działało google.pl ?
Sami debile w tym internecie siedzą, słowo daję…
Deny napisał: 12.04.08 o godzinie 11:20
Troll, TROLL!! Zabić trolla! Ale się teraz zbłaźniłeś
Nie dziwię się, że boisz się podpisać
Wynocha paskudny trollu!
kmg napisał: 12.04.08 o godzinie 11:22
Dla ludzi którzy czytają wypociny Trola…
Sceptyk nie ma pojecia nie tylko o biznesie ale również o uprawnieniach w unixach. W rzeczywistości potrzebne są uprawnienia tylko do odczytu, tak wiec wystarczą r– — — (400) gdy ownerem jest www-data (czy jakikolwiek inny na którym działa apache) i r– r– r– (444) w każdym innym przypadku. Ktoś, kto dostaje dostep przez ftp działa jako inny użytkownik w innej grupie – czyli w pierwszym przypadku nie podglądnie nawet zawartości pliku, a w drugim co prawda zobaczy, ale totalnie niczego mu to nie da – wszak htaccess to nie sudoers aby ukrywać jego zawartość. A najlepiej ustawić ownera na www-data, grupę na własnego użytkownika FTP (czyli na „nas” a nie konta osób które mają dostać dostep do katalogu) i ustawić uprawnienia r– rw- — (450).
Troll podał uprawnienia do odczytu i wykonania – te ostatnie nijak się mają do tematu.
Drodzy czytelnicy – jeśli przyszliście się tutaj czegoś dowiedzieć radzę nie czytać komentarzy Sceptyka.
Sceptyk napisał: 12.04.08 o godzinie 11:33
Flaga r– — — (400) spowoduje brak odczytu pliku przez serwer WWW.
Z debilami nie dyskutuję.
kmg napisał: 12.04.08 o godzinie 11:44
Racja – jedna osoba jest tutaj debilem.
Kolego – nie wiesz z kim próbujesz tańczyć…
main:/var/www/test# mkdir sceptyk
main:/var/www/test# cd sceptyk/
main:/var/www/test/sceptyk# echo ‘troll’ > plik.txt
main:/var/www/test/sceptyk# chown www-data:www-data plik.txt
main:/var/www/test/sceptyk# chmod 400 plik.txt
main:/var/www/test/sceptyk#
http://www.kmg.hcm.pl/test/sceptyk/plik.txt
A jeśli wciąż nie wierzysz ze ten plik ma 0400…
http://www.kmg.hcm.pl/test/sceptyk/index.php
I teraz biorąc pod uwagę to co pisałeś, w poście o osadze…
Liczę na przeprosiny. Starczy Ci odwagi? Nie sądze.
Sceptyk napisał: 12.04.08 o godzinie 11:54
Nadanie plikowi takiego atrybutu:
main:/var/www/test/sceptyk# chown www-data:www-data plik.txt
spowoduje, że właścicielem pliku plik.txt jest www-data z grupy www-data.
Nie ma to nic wspólnego z tym, co napisał nasz nieudolny MariuszT w temacie.
Jeśli chcesz dyskutować, naucz się podstaw UNIX’a.
kmg napisał: 12.04.08 o godzinie 12:04
Kolego – chetnie porozmawiam na temat linuxów. Wszak zajmuje nimi ponad 10 lat. Obsługa, administracja , programowanie.
Może Ty pokaż co umiesz. Pokaz też, co uprawnienia mają wspólnego z tym co napisał MariuszT w temacie.
Masz rację – z debilami nie dyskutuje.
I przeczytaj jeszcze raz moj post o uprawnieniach – wyraźnie napisałem „wystarczą 400 gdy ownerem jest www-data”. Brak umiejętności czytania ze zrozumieniem? Zdarza sie w twoim wieku. To choroba, jeśli pójdziesz do lekarza może dostaniesz papierek, który ułatwi Ci pisanie egzaminu gimnazjalnego. Ale do tego pewnie masz też sporo czasu.
ps. chown to nie nadanie atrybutów a zmiana uprawnień. Dla kogoś kto ma pojecie o unixach różnica znaczna. Do przedszkola. Naucz sie podstaw.
Sceptyk napisał: 12.04.08 o godzinie 12:14
Fakt, z debilami się nie dyskutuje. I na tym kończę. Google są dostępne dla wszystkich, nawet dla tych, których się nie wpuszcza do MediaMarkt.
Polecam lekturę serii „Dla opornych”. Zacznij od podstaw logiki.
Luzak napisał: 03.09.09 o godzinie 19:21
Hej sceptyczny kolego. Nie szkoda Ci czasu na negowanie faktu, że ktoś komuś pomaga? Jesteś przkonany do dwóch kwestii: albo to wszyscy wiedzą albo to nikomu nie potrzebne. Ale niestety jest jeszcze trzecia prawda. Jak dorośniesz to ją poznasz.
Pozdrawiam