• PHP open_basedir

    dodany przez Przemysław Sikora

    Bezpieczeństwo skryptów PHP pozostawia niestety wiele do życzenia. Programiści i webmasterzy zbyt lekko podchodzą do aspektu bezpieczeństwa swoich aplikacji i stron. Oliwy do ognia dolewają często administratorzy, którzy nie dbają o aktualność oprogramowania zainstalowanego na serwerach. Często spotykamy się z wieloma ograniczeniami dotyczącymi stron i skryptów takimi, jak np. safe_mode, które tak naprawdę niewiele wnoszą w kwestii zwiększenia bezpieczeństwa. Rozwiązanie które pragnę opisać jest chyba dosyć rzadko stosowane, choć niezwykle skuteczne. Mam na myśli “PHP open_basedir”. Jest to ograniczenie działania/wykonywania skryptów napisanych w języku skryptowym PHP do danych katalogów. Aby włączyć domyślnie tą funkcjonalność należy wyedytować plik “php.ini” znajdujący się standardowo w katalogu “/etc”. Znajdujemy linijkę  rozpoczynającą się od “;open_basedir” i usuwamy z niej znak średnika, a po “=” wpisujemy foldery globalne w których skrypty mogą być wykonywane. Rozdzielamy je dwukropkiem. Słowo globalnie oznacza, że dla każdego virtual-hosta. Można oczywiście indywidualnie ustawiać katalogi w ustawieniach vhosta. Należy w nich umieścić dyrektywę “php_admin_value open_basedir”. Po spacji wypisujemy katalogi ze pełnymi ścieżkami oddzielone dwukropkiem np.

    php_admin_value open_basedir /usr/share/squirrelmail:/etc/squirrelmail:/tmp:

    Polecam opisywaną usługą przede wszystkim osobom świadczącym usługi hostingowe. Proszę o komentowanie i dzielenie się własnymi doświadczeniami związanymi z bezpieczeństwem usług WWW i nie tylko.

Komentarze do “PHP open_basedir”

  1. tolomei pisze:

    Jako dopełnienie należy dodać, że wartością open_basedir jest prefix, a nie nazwa katalogu. Oznacza to, że open_basedir = /dir/incl zezwala na dostęp do /dir/include i /dir/incls jeżeli takie istnieją. Pozdrawiam autora. tolomei

Dodaj komentarz

Warto odwiedzić
Valid XHTML 1.0 Transitional centos.com.pl- mapa strony