![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 65 Pomógł: 0 Dołączył: 2.07.2005 Ostrzeżenie: (30%) ![]() ![]() |
Mam server na Windows XP Professional SP2, system plików FAT32, wersja php 4.3.11, wersja apache 1.* (niepamiętam ile).
Server jest dla sieci lokalnej, safe_mode = On, register_globals = Off. Skrypt rmdir('c:/windows'); zwraca Permissions Denied, ale np. unlink('c:/windows/jakiś_plik_systemowy'); już nie. Łatwo mi rozwalić komp. Da sie to jakoś zabezpieczyć ![]() -------------------- Mój localhost: Apache 1.3.*, PHP 4.3.11, MySQL 4.0.24-nt, Perl (Windows XP Pro SP2)
|
|
|
![]()
Post
#2
|
|
![]() 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%) ![]() ![]() |
Zainteresuj sie opcja open_basedir w php.ini, mozesz ja ustawiac z poziomu httpd.conf'a dla kazdego katalogu inna, takze mozesz kazdemu userowi inaczej ustawic.
-------------------- Brak czasu :/
|
|
|
![]()
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%) ![]() ![]() |
Zle ustawiles sciezke w open_basedir..
W temacie, ktory zalozyles podales blad jaki Ci wyrzuca: Kod Warning: Unknown(): open_basedir restriction in effect. File(c:\usr\krasnal\www\ibp\index.php) is not within the allowed path(s): (c:\usr\apache\httpd) in Unknown on line 0 Ustawiles open_basedir na c:\usr\apache\httpd a powinienes na c:\usr\krasnal\www\ibp dla tego uzytkownika. -------------------- Brak czasu :/
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 65 Pomógł: 0 Dołączył: 2.07.2005 Ostrzeżenie: (30%) ![]() ![]() |
Dobre
![]() Kod Warning: unlink(): open_basedir restriction in effect. File(c:\test.txt) is not within the allowed path(s): (c:\usr\krasnal\www\ibp) in c:\usr\krasnal\www\ibp\unlink.php on line 2 Tylko jak do założyć dla każdego użytkownika servera ? -------------------- Mój localhost: Apache 1.3.*, PHP 4.3.11, MySQL 4.0.24-nt, Perl (Windows XP Pro SP2)
|
|
|
![]()
Post
#5
|
|
![]() 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%) ![]() ![]() |
No niestety z tego co mi wiadomo nie da sie zrobic tego na tyle fajnie, ze ustawisz sobie UserDir w apachu, a sciezki do open_basedir sie same poustawiaja automatycznie, wiec trzeba kazdemu userowi zrobic vhosta, cos na ten wzor:
Kod <VirtualHost *> DocumentRoot c:\usr\krasnal\www\ibp php_admin_value open_basedir c:\usr\krasnal\www\ibp [...inne opcje VH...] </VirtualHost> <VirtualHost *> DocumentRoot c:\usr\krasnal\www\inny_user php_admin_value open_basedir c:\usr\krasnal\www\inny_user [...inne opcje VH...] </VirtualHost> itd.. dla reszty uzytkownikow. Takie cos napewno zadziala, bo kiedys tak komus udostepnialem konto w akademiku i tez nie chcialem, zeby za bardzo sobie szalal. Nie pamietam w tej chwili, ale jestem prawie pewien, ze mimo tego open_basedir'a uzytkownik bedzie mogl sobie odpalic zewnetrzny program i z niego namieszac.. np. exec("del C:\\Windows\\jakis_plik"); dlatego dobrym pomyslem bedzie tez wylaczenie wszytkich funkcji umozliwiajacych odpalanie zewnetrznych procesow. -------------------- Brak czasu :/
|
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 65 Pomógł: 0 Dołączył: 2.07.2005 Ostrzeżenie: (30%) ![]() ![]() |
Zrobiłem Safe_mode=On (a safe_mode_exec_dir zostawiłem pusty), więc system() exec() (i te inne do wykonywania programów) są niedostępne, a shell_exec() jest wyłączony w Safe Mode (w Windows jest to wykonanie czegoś z cmd.exe [Wiersza Poleceń], np. format c:)
Mam skrypty php do rejestracji usera na serverze i mógłbym do niego dodać dodanie VH do httpd.conf, ale jak przeładować pliki konfiguracyjne bez restaru servera ? Jest jakieś takie coś jak wysłanie do Apache zapytania do ponownego wczytania konfiguracji ? -------------------- Mój localhost: Apache 1.3.*, PHP 4.3.11, MySQL 4.0.24-nt, Perl (Windows XP Pro SP2)
|
|
|
![]()
Post
#7
|
|
![]() 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%) ![]() ![]() |
Nie za bardzo.. ale jesli masz tak jak mowisz to przy dodawaniu usera mozesz dodac wpis do harmonogramu zadan (ze wzgledu na raczej trudna automatyzacje windowsowego harmonogramu polecam nnCron Lite, ktory ma config rodem z unixowego cron'a i sprawdza jego zmiany co minute, wiec by sie nadal), ktory w ciagu minuty czy dwoch zrobi restart serwera (ewentualnie zaplanowac restart raz na dobe czy raz na godzine, wedle wlasnego upodobania).
-------------------- Brak czasu :/
|
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 65 Pomógł: 0 Dołączył: 2.07.2005 Ostrzeżenie: (30%) ![]() ![]() |
Ale sra błedem, że php_admin_value to zła komenda
-------------------- Mój localhost: Apache 1.3.*, PHP 4.3.11, MySQL 4.0.24-nt, Perl (Windows XP Pro SP2)
|
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 19.07.2025 - 02:39 |