apache i php, za duzo osob MOZE ... :)

0

jak to zrobic, aby dzialala strona na koncie A (co oznacza przyznanie prawa odczytu dla uzytkownika lub grupy http), ale plik startowy index.php byl nie do przeczytania przez uzytkownika konta B - nie do przeczytania oznacza, ze uzytkownik konta B nawet jesli wykona strone w php lub cgi-bin probujaca odczytac plik index.php z konta A (uzytkownik konta B zna sciezke do pliku index.php na koncie A), to demon httpd odmowi takiego dostepu.

dosyc pilna sprawa!

0

apache + suexec

Tylko ze wtedy PHP musi byc zainstalowane jako CGI. Tyle teorii, w praktyce jak probowalem jakies pare miesiecy temu, to w PHP byl jakis bug, ktory powodowal, ze taka konfiguracja nie chciala dzialac (suexec byl ok, bo w Perlu i C dzialalo, a w PHP za cholere).

Suexec pozwala wykonywac skrypty z uprawnieniami wlasciciela skryptu. Wtedy mozna mu ustawic atrybuty rwx------ i nikt nie przeczyta kodu. Z drugiej strony, jak ma sie kiepski skrypt, to lepiej na takim koncie waznych danych nie trzymac.

P.S. SMEIL bedzie to umozliwial bez koniecznosci instalacji suexeca i z dowolnym serwerem www (albo nawet bez). Tryb pracy nobody/user konfigurowany przez usera... Ale to dopiero w r. 2005...

0

ja mam PHP jako moduł apache'a wiec odpada... cos jeszcze do glowek przychodzi? ;]

0
  1. Przeniesc sie na CGI? JSP? ASP? :D
  2. Jak juz chcesz sie trzymac PHP to mozesz napisac wlasny serwer WWW w PHP, i napisac do niego connector do apache'a tez w PHP. Serwer ma atrybuty rwx------, odpalasz go z konsoli (musisz miec PHP skompilowane oddzielnie jako interpreter - mozesz sciagnac i skompilowac sobie lokalnie jesli nie masz roota). Serwer nasluchuje na jakims wysokim porcie np. 30666. Do tego piszesz skrypcik klienta, ktory jest wywolywany normalnie przez Apache'a i przekazuje requesty do serwera (laczy sie przez sockety). W zasadzie protokol miedzy connctorem a serwerem moze byc dowolny, nie musi byc HTTP.
    Wady: duzo pisaniny, zadanie nielatwe, spore narzuty, mozliwe dziury (np. DOS), serwer WWW nie moze wyleciec. Nie wiem tez jak PHP radzi sobie z przeciekami pamieci. Co jak co, nie jest to jezyk do pisania serwerow, a do pisania skryptow.
  3. Poczekac pare miesiecy, zainstalowac sobie SMEILa i napisac aplikacje w C++. Wady - trzeba znac C++, zalety: m.in. nikt Ci sie do zrodelek nie dobierze, mozesz je zamknac w sejfie, a na serwerze miec tylko binarki i to z atrybutem rwx--x--x. :)

Usatysfakcjonowany?

0

A safemode nie wystarczy? http://pl.php.net/features.safe-mode

0

A safemode nie wystarczy? http://pl.php.net/features.safe-mode

Safemode nie robi tego co trzeba, jesli PHP jest zainstalowany w trybie mod_php. Jest ok, jesli dziala jako CGI, ale o tym juz pisalem. To jest wolne rozwiazanie i tez nie bez wad.

Open_basedir tez nie rozwiazuje problemu...

http://pl.php.net/manual/en/security.apache.php
"The only solution for the PHP module, would be to support Suexec, which could be made optional..."

0

hmm...

nie wchodzi w gre zadne przerzucanie sie na inne jezyki no serwis dla ktorego o te prawa sie rozchodzi jest juz w PHP od dawna stworzony.... wiec trzeba to jakos ubezpieczyc tylko :D

1 użytkowników online, w tym zalogowanych: 0, gości: 1