14 lip, 2010
Indywidualne ustawienia php dla każdej witryny na serwerze IIS i Windows 2008
Zamieszczony przez: pejotr w: IIS|Windows 2008
Problem jak najbardziej z życia wzięty. Na serwerze znajdują się strony kilku użytkowników. Żaden z nich nie chciałby aby ktokolwiek oprócz niego i administratora miał dostęp do plików jego witryny. Gdyby problem powstał w środowisku działającym pod kontrolą Linuxa problem rozwiązałby się w kilka chwil, poprzez odpowiednie ustawienie właścicieli katalogów i praw dostępu. Jednak wspomniana sytuacja zaistniała pod Windows 2008.
Na pierwszy ogień poszło ustawienie parametru open_basedir w pliku konfiguracyjnym PHP. Ograniczyło to możliwość odczytu includowania i innych tego typu operacji tylko do wymienionych katalogów. Nadal jednak pozostał problem odczytu plików nawzajem przez użytkowników. Ze strony należącej do uzytkownia A np.: c:\Sites\A\1.php bez problemy można odczycztać czy zaincludowac sobie stronę użytkownika B c:\Sites\B\tajne.txt co oczywiście jest nie do przyjęcia. Z pomocą przyszła możliwość ustawienia parametrów PHP dla każdego folderu niezależenie. Aby z tego skorzystać należy utworzyć w rejestrze nowy klucz w gałęzi HKLM/Software/PHP/Per Directory Values/c/Sites/

Od tego momentu właściciel strony c:\Sites\A jest ograniczony tylko do własnego katalogu. Wadą tego rozwiązanie jest niestety konieczność utworzenia takich wpisów dla wszystkich stron znajdujących się na serwerze. Jednak (1) w tym wypadku można sobie było na to pozwolić (2) rozwiązanie jest łatwe we wdrożeniu a żadne inne nie przyszło mi do głowy. Chętnie poznam inne metody, może bardziej eleganckie, na osiągnięcie podobnego rezultatu.
Witam, nazywam się Piotr Doniec, w internecie występuję pod nickami 'pejotr' oraz 'doniczek'. Obecnie jestem studentem 3 roku informatyki na Politechnice Warszawskiej na wydziale Elektroniki i Technik Informacyjnych.