![]() |
![]() ![]() |
![]() |
![]() ![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 331 Pomógł: 1 Dołączył: 23.05.2004 Skąd: Tarnów/Londyn Ostrzeżenie: (0%) ![]() ![]() |
witam, dostalem informacje ze na serwerze gdzie stoi serwis ktorym sie zajmuje zostanie wlaczony niebawem safe mode dla wszystkich serverow wirtualnych. czy w zwiazku z tym bede musial dokonywac jakis zmian w kodzie? patrzylem do manuala na funkcje ktore ogranicza safe mode, z tej listy uzywam takich jak copy, delete, unlink ,mkdir, rename, rmdir. kto jest w przypadku skryptow php uruchamianych w wyniku dzialan uzytkownika ich wlascicielem? bo z tego co czytalem o safe mode to o to sie rozchodzą te ograniczenia. jak to sprawdzic ?
-------------------- php 5.1.2 & Apache 2.0.50 & MySQL 4.1.7 @ WinXP Pro
..:: GG 6449856 ::.. www.londyn.me.uk - ogłoszenia mieszkaniowe dla Londynu |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 332 Pomógł: 6 Dołączył: 13.01.2005 Ostrzeżenie: (0%) ![]() ![]() |
Jak skrypt zadziała Ci na Lycosie to wszystko będzie ok. Z tego co wiem tam jest safe mode. A właściciel musi mieć pełny dostęp do serwera, więc zwykły użytkownik nim nie jest.
|
|
|
![]()
Post
#3
|
|
![]() Grupa: Przyjaciele php.pl Postów: 5 724 Pomógł: 259 Dołączył: 13.04.2004 Skąd: N/A Ostrzeżenie: (0%) ![]() ![]() |
Najlepiej wrzuc na serwer z linuxem i safe_modem i sprawdz -- ale widze ze masz windows (chociaz tez na nim powinno dac sie to zrobic)
Skrypt (twojego usera) ma dostep tylko do tych plikow, ktorych tez ty jestes wlascicielem. Czyli nie odczytasz np. /etc/passwd (ownerem jest root). Jak pamietam moga wystapic problemy w takiej sytuacji: masz katalog z chmodem 0777 i serwer (chodzi pod innym userem) tworzy w nim katalog tez 0777 i zapisuje w nim plik. Nastepnym razem nie bedziesz mogl swoim skryptem otworzyc tego pliku poniewaz nalezy do serwera ![]() Po prostu linuxy nawiazuja do starych unixow gdzie takie proste uprawnienia wystarczaly, nikt nie myslal wtedy o www i hostingu wirtualnych kont, w php dodali safe mode aby zapezpieczyc userow na jednym serwerze przed przegladaniem swoich plikow nawzajem. Windows ma bardziej rozbudowane uprawnienia -- moze dalo by sie to zrobic w jakis normalny sposob bez zadnych safe modow -- nigdy nie probowalem. Czekam na nowoczesny system ktory pozbedzie sie tych starych kompatybilnosci, nie bedzie potrzebowal tylu sztucznych nakladek, ehhh rozpisalem sie ![]() -------------------- Nie lubię jednorożców.
|
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 331 Pomógł: 1 Dołączył: 23.05.2004 Skąd: Tarnów/Londyn Ostrzeżenie: (0%) ![]() ![]() |
sprawdzilem na cuteftp i wlascicielem wszystkich plikow i katalogow ze skryptami jest wlasciciel konta, czyli jak konto sie nazywa powiedzmy firma to ich wlasciciel tak samo, to logiczne bo pod nim jestem zalogowany gdy je wrzucam przez ftp.
gorzej ma sie sprawa z obrazkami wgrywanymi przez uzytkowników ,bo tam w wiekszosci uzytkownik sie nazywa 99 . zauwazylem ze przy tych najnowszych uploadowanych plikach tak sie nazywa, a przy tych starszych to firma. czy pomoglo by gdybym zmienial funkcją php chown() wlasciciela na firma po wgraniu pliku na server ? i czy bede miec do tego uprawnienia. a moze na odwrot, wlasciciela skryptow zmienic jakos na tego 99 ? kolejne pytanie: jak moge sprawdzic spod jakiego uzytkownika dziala uruchomiony w danej chwili skrypt php. -------------------- php 5.1.2 & Apache 2.0.50 & MySQL 4.1.7 @ WinXP Pro
..:: GG 6449856 ::.. www.londyn.me.uk - ogłoszenia mieszkaniowe dla Londynu |
|
|
![]()
Post
#5
|
|
![]() Grupa: Przyjaciele php.pl Postów: 5 724 Pomógł: 259 Dołączył: 13.04.2004 Skąd: N/A Ostrzeżenie: (0%) ![]() ![]() |
1. skrypt dziala pod userem "99" -- dlatego wlasnie uploadowane pliki maja takiego wlasciciela; jak sprawdzic? sproboj
2. chmod() zmienia tylko uprawnienia, zrobisz to (a konkretniej nie zrobisz -- musisz byc rootem) chownem() (chociaz nie wiem czy istnieje w php). -------------------- Nie lubię jednorożców.
|
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 331 Pomógł: 1 Dołączył: 23.05.2004 Skąd: Tarnów/Londyn Ostrzeżenie: (0%) ![]() ![]() |
0. z tego co udalo mi sie sprawdzic za pomocą funkcji :
$id=fileowner('plik'); $tab=posix_getpwuid($id); to ten 99 to uzytkownik nobody .zmienia to cos ? 1. jak mam uruchomic to echo 'whoami'; bo normalnie to przeciez wypisze mi poprostu string 'whoami' 2. wlasnie o funkcji chown() pisalem. jest w php, tylko jest takze ograniczana przez safe mode, czyli wlasciciel pliku zmienianego musi byc tez wlascicielem skryptu. 3. ma ma ktos wogole jakis pomysl co najlepiej zrobic w takiej sytuacji jak opisalem wczesniej? o ile wogole bedzie jakis problem, no bo jesli zapisalo mi wlasciciela pliku tego 99 (nobody), to znaczy ze skrypt ktory zapisywal byl uruchomiony pod userem 99, wiec i ten skrypt co ten plik kasuje, kopiuje gdzies albo zmienia nazwe tez powinien byc pod tym userem uruchamiany, wszystkie przeciez sa uruchamiane poprostu jak uzytkownik costam robi na stronie . dobrze rozumuje ? Ten post edytował a79rtur 25.04.2005, 20:29:39 -------------------- php 5.1.2 & Apache 2.0.50 & MySQL 4.1.7 @ WinXP Pro
..:: GG 6449856 ::.. www.londyn.me.uk - ogłoszenia mieszkaniowe dla Londynu |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 23 Pomógł: 0 Dołączył: 17.04.2005 Ostrzeżenie: (0%) ![]() ![]() |
Tez chciałbym sie dowiedziec, jak poradzic sobie z uploadowanymi przez uzytkownikow plikami, np zdjeciami, przy wlaczonym safe mode. Jak je uploadowac zeby pozniej skrypt mogl je skasowac czy przeniesc.
|
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 23.07.2025 - 01:59 |