Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 426 Pomógł: 1 Dołączył: 2.10.2005 Ostrzeżenie: (0%)
|
Witam
Mam zainstalowanego apache 2 na windows xp. Ostatnio ustawiłem open_basedir w pliku php.ini: open_basedir = "G:/WebServ/httpd-users" No i mam pytanie czy można wprowadzić wyjątek że będzie dostęp do folderu np: G:\WebServ\apache2\error No i druga sprawa jest taka że w open_basedir ustawiłem dostęp do folderów G:/WebServ/httpd-users wszystkim użytkownikom: localhost/~maciek, localhost/~kreciu itd, no i głównej stronie localhost/ no i czy można odblokować dostęp to plików poniżej dla samej strony localhost/, a pozostawić zablokowane dla innych ? Pozdrawiam |
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Zarejestrowani Postów: 453 Pomógł: 22 Dołączył: 20.09.2004 Skąd: Kraków - NH - Ostrzeżenie: (0%)
|
No i mam pytanie czy można wprowadzić wyjątek że będzie dostęp do folderu np: G:\WebServ\apache2\error witam. nie jestem ekspertem w konfiguracji apacha ale chyba o to chodzi. do pliku httpd.conf dopisz coś w tym stylu: Cytat Alias /err/ "C:/Program Files/Apache2/error/" <Directory "C:/Program Files/Apache2/error/"> Options FollowSymLinks Indexes AllowOverride None Order allow,deny Allow from all </Directory> czyli wchodząc z własnego kompa http://localhost/err/ otworzy się folder error apacha. |
|
|
|
Post
#3
|
|
|
Grupa: Przyjaciele php.pl Postów: 1 717 Pomógł: 0 Dołączył: 12.06.2002 Skąd: Wolsztyn..... Studia: Zielona Góra Ostrzeżenie: (0%)
|
Cytat(manual) Under Windows, separate the directories with a semicolon. On all other systems, separate the directories with a colon. As an Apache module, open_basedir paths from parent directories are now automatically inherited.
|
|
|
|
Post
#4
|
|
|
Grupa: Przyjaciele php.pl Postów: 1 112 Pomógł: 20 Dołączył: 10.04.2005 Ostrzeżenie: (0%)
|
Trzeba jeszcze pamiętać o jednej ważnej rzeczy. open_basedir nie wskazuje domyślnie na katalog (!!) a jedynie jest wzorcem!
taki zapis: Kod open_basedir = "G:/WebServ/httpd-users" spowoduje, że skrypt będzie miał dostęp do każdego katalogu w G:/WebServ/ którego nazwa zaczyna się od httpd-users, np. G:/WebServ/httpd-users-super-secrettaki zapis już nie: Kod open_basedir = "G:/WebServ/httpd-users/" (slash na końcu)pozdr. |
|
|
|
Post
#5
|
|
|
Grupa: Zarejestrowani Postów: 426 Pomógł: 1 Dołączył: 2.10.2005 Ostrzeżenie: (0%)
|
Thx za odpowiedzi (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Mam jeszcze pytanie. Mój open_basedir wygląda tak: Kod open_basedir = "G:\WebServ\httpd-users\;G:\WebServ\httpd\;G:\WebServ\apache2\error\" No i jest problem bo np użytkownik bartek czyli: G:\WebServ\httpd-users\bartek może odczytać pliki użytkownika adas: G:\WebServ\httpd-users\adas lub nawet strone główną serwera G:\WebServ\httpd\ :/ No i pytanie brzmi czy i jak można zrobić coś jakby przydział odpowiednich grup dla open_basedir aby każdy użytkownik mógł siedzieć we własnym folderze :?: Pozdrawiam |
|
|
|
Post
#6
|
|
|
Grupa: Przyjaciele php.pl Postów: 1 717 Pomógł: 0 Dołączył: 12.06.2002 Skąd: Wolsztyn..... Studia: Zielona Góra Ostrzeżenie: (0%)
|
Da sie, ale jest jeden problem.. Musial bys to ustawiac recznie dla kazdego katalogu z osobna :/
Kod <Directory G:\WebServ\httpd-users\bartek> php_admin_value open_basedir G:\WebServ\httpd-users\bartek </Directory> i tak dla kazdego katalogu. Nie znam sposobu na zautomatyzowanie tego, ale chetnie bym poznal jesli takowy istnieje. |
|
|
|
Post
#7
|
|
|
Grupa: Zarejestrowani Postów: 426 Pomógł: 1 Dołączył: 2.10.2005 Ostrzeżenie: (0%)
|
Zrobiłem tak jak piszesz FiDO:
Kod open_basedir = "G:\WebServ\httpd-users\;G:\WebServ\httpd\;G:\WebServ\apache2\error\" <Directory G:\WebServ\httpd-users\bartek> php_admin_value open_basedir G:\WebServ\httpd-users\bartek </Directory> Ale to nic nie robi i mam i tak dostęp do innych kont ;/ |
|
|
|
Post
#8
|
|
|
Grupa: Przyjaciele php.pl Postów: 1 112 Pomógł: 20 Dołączył: 10.04.2005 Ostrzeżenie: (0%)
|
A czy nie jest tak, że przy takim usatwieniu jak podałeś ustawiona w Directory wartosc open_basedir dopisze sie do pozostalych, podanych w php.ini? Nie wiem jaki jest priorytet nadawania tej wartosc przez php.ini /apache. daj w katalogu dla ktorego ustawiales open_basedir w php -> ini_get('open_basedir'); i zobacz co zagada - czy wszystkie sciezki (wtedy jase wszystko), czy tylko te ustawiona dla uzytkownika (wtedy niejasne dlaczego mozesz czytac cokolwiek z poza open_basedir).
pozdr. |
|
|
|
Post
#9
|
|
|
Grupa: Zarejestrowani Postów: 426 Pomógł: 1 Dołączył: 2.10.2005 Ostrzeżenie: (0%)
|
siemakuba funkcja zwraca mi:
Kod G:\WebServ\httpd-users\;G:\WebServ\httpd\;G:\WebServ\apache2\error\. Czyli directory wyrzuca za kazdym razem, nawet jak daje przed i po basedir ;/ |
|
|
|
Post
#10
|
|
|
Grupa: Przyjaciele php.pl Postów: 1 112 Pomógł: 20 Dołączył: 10.04.2005 Ostrzeżenie: (0%)
|
hmmm... spróbuj w ramach testu dać w php_admin_value open_basedir jakiś katalog "z dupy", w sensie zupełnie inny od pozostałych, nawet z poza DocumentRoot np. "C:\Windows\" i zobacz co wyrzuci ci ini_get('open_basedir');
katalog G:\WebServ\httpd-users\bartek jest przecież katalogiem podrzędnym dla G:\WebServ\httpd-users\. Skoro więc możesz otwierać wszystko z G:\WebServ\httpd-users\, to tym bardziej możesz otwierać wszystko z G:\WebServ\httpd-users\bartek, rajt? Być może te ustawienia są mergowane, i stąd nie widać w ini_get('open_basedir') katalogu G:\WebServ\httpd-users\bartek? pozdr. |
|
|
|
![]() ![]() |
|
Aktualny czas: 19.12.2025 - 05:48 |