Witam!
Problem nie dotyczy samego programowania, dlatego wachalem sie czy aby nie umiescic tego tematu w dziale "serwery www", ale doszedlem do wniosku, ze moze jednak da sie to jakos zrobic nie ruszajac apacza, a jedynie php.ini albo cos w tym stylu.
Pozwole sobie bardzo szybko nakreslic sytuacje i wyjasnic w czym problem. Zajmuje sie zarzadzaniem dosyc rozbudowanym systemem opartym o jezyk php. Nie bede wchodzil w szczegoly, wazne jest to, ze dane przechowywane sa w bazie mySQL, zas wglad w nie i mozliwosc edycji maja uzytkownicy o roznych poziomach dostepu. Calosc pomyslana jest pod katem wysokiego poziomu bezpieczenstwa, bowiem potencjalnie czesc informacji w bazie danych moze byc poufna. Ze strony oskryptowania nie stanowi to problemu, ale...
No wlasnie. Niestety, caly system dzialac bedzie najprawdopodobniej pod kontrola apache na linuxie, gdzie bardzo wiele osob ma konta. W celu uniemozliwienia odczytania hasla do bazy danych z plikow konfiguracyjnych przepisalem je na grupe nobody i dalem prawa dostepu 660... ale teraz doszedlem do wniosku, ze to nic nie pomaga - uzytkownik faktycznie nie moze podejrzec kodu w shellu, ale wystarczy umiescic w swoim public_html skrypcik z uzyciem fopen, readfile, czy tez dla wlasnej wygody - show_source lub highlight_file... i haslo mamy jak na dloni.
Blokowanie funkcji w php.ini mija sie z celem - o ile show_source mozna przebolec, to pozbawianie innych userow funkcji obslugi plikow byloby barbarzynstwem. Jedyne, co jestem w stanie wykombinowac, to zastosowanie chroota, albo uruchomienie drugiej kopii apache tylko do obslugi mojego systemu, z inna grupa. Ale wtedy musialby on chodzic na innym porcie... hm.
Czy macie jakies inne pomysly? Dzieki za pomoc.