Skocz do zawartości

Upload i safe_mode w PHP


dargre`

Rekomendowane odpowiedzi

Jak sobie poradzić z safe_mode w PHP przy pisaniu skryptu

do UPLOADU w PHP.

Pliki uploadowane jeśli serwer jest w safe_mode, można odczytać,

czy też w wypadku obrazków wyświetlić. Ale nie daje się ich skopiować

przy pomocy FTP, ani usunąć, zarówno poleceniem UNLINK,

ani z poziomu serwera.

Nie pomaga też odpowiednie ustawienie atrybutów katalogu do uploadu.

Zresztą dla uploadowanych plików zrobić tego nie można.

Sprawa jest dość znana i mocno dyskutowana.

Prostego rozwiązania nie ma.

Macie jakieś doświadczenia w tym temacie?

Sorry, nie odpowiadam na PMy

Odnośnik do komentarza
Udostępnij na innych stronach

w safe mode chodzi o to, że działnia na plikach może dokonywac tylko ich właściclel i sa problemy z włacicleami nadrzędnymi. W praktyce to oznacza że jak skrypt sam sobie stworzy plik to może go usunąć skopiować i trobić co chce, ale już przez połączenie z ftp to nie działa bo nie ty jesteś właścielem pliku a skrypt . Co robić ??

Dostosowac rozwiązanie do serwisu ale nie znam szczegółów.

Odnośnik do komentarza
Udostępnij na innych stronach

w safe mode chodzi o to, że działnia na plikach może dokonywac tylko ich właściclel i sa problemy z włacicleami nadrzędnymi.

I właśnie tyle wiem. Próbowałem sam skrypt umieścić w katalogu do którego idzie upload, ale to też nie pomaga. Co prawda jeśli wcześniej utworzę katalog UPLOADU i nadam odpowiednie atrybuty, to pliki uploadowane mogę usunąć, ale nie mogę im nadać atrybutów, edytować itd.

Czytam i czytam na sieci z angielskich stron (na polskich LIPA, a mówi się jakich to zdolnych programistów mamy) i nie znalazłem jeszcze sensownego rozwiązania.

SZUKAMY ODPOWIEDZI DALEJ.

Sorry, nie odpowiadam na PMy

Odnośnik do komentarza
Udostępnij na innych stronach

Nie sprawdzałem tego, bo nie mam safe_mode, ale czy coś takiego nie zadziała z poziomu pliku.

<?php
chmod('plik.php', 0666);
?>

i w ten sposób zmieniasz prawa dostępu poprzez plik-właściciel i później możesz sobie zrobić z plikiem co chcesz.

Ja tego używam do nadawania pllikom chmod 0400 na serwerach gdzie php jest skompilowane jako cgi i nie mam dostępu do roota, ale w drugą stronę też działa, jak chce np. zrobić zmianę w tym pliku.

Odnośnik do komentarza
Udostępnij na innych stronach

Np. na superhoście nie można nadać chmod 666 plikowi php, więc trzeba też uważać, jaki plik się zapisuje :P

Ja bym chyba bardziej pokombinował w stronę właściciela pliku (owner)

Kiedy włączony jest tryb bezpieczny, PHP sprawdza, czy pliki lub katalogi na których chcesz operować mają takie same UID (owner) jak skrypt, który jest aktualnie wykonywany.
ale nie jestem pewien, pozdrawiam ;)

Dała matka rozum? To kombinuj.

Odnośnik do komentarza
Udostępnij na innych stronach

Np. na superhoście nie można nadać chmod 666 plikowi php,

To był tylko przykład, wiadomo, że każdy musi dostosować do swoich potrzeb.

Wtedy się nadaje 0644, a w przypadku 0777 będzie 0755. Widocznie mają php jako cgi a nie moduł i suexec na serwerze.

Ja bym chyba bardziej pokombinował w stronę właściciela pliku (owner)

Właśnie to co podałem jest wykonywane jako właściciel pliku, więc powinno działać, chyba że funkcja chmod() jest wyłączona.

Odnośnik do komentarza
Udostępnij na innych stronach

Nie wiem jak mi się to udało ale upload przy safe_mode działa.

Tzn. pliki są uploadowane, i mogę je kopiować usuwać itd,

także z posiomu FTP.

I skrypt wcale nie jest umieszczony w katalogu do którego idzie upload.

Sprawdziłem serwer, nadal pracuje w safe_mode.

Sorry, nie odpowiadam na PMy

Odnośnik do komentarza
Udostępnij na innych stronach

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Umieściliśmy na Twoim urządzeniu pliki cookie, aby pomóc Ci usprawnić przeglądanie strony. Możesz dostosować ustawienia plików cookie, w przeciwnym wypadku zakładamy, że wyrażasz na to zgodę. Warunki użytkowania Polityka prywatności