To jest tylko wersja do druku, aby zobaczyć pełną wersję tematu, kliknij TUTAJ
phpBB2 by Przemo
Support forów phpBB2 modified by Przemo

F.A.Q. - Najczęściej Zadawane Pytania - Check_files i wyswietlanie na czerwono Safe_mode ON

patrick - 28-06-2005, 22:19
Temat postu: Check_files i wyswietlanie na czerwono Safe_mode ON
Coraz wiecej pytan pada czemu w CF wyswietlane jest:

    Safe mode : Tak


Wiec wytulmacze po krotce w punktach ponizej:

    1. NIE jest to nic złego, wiec nie nalezy sie martwić, gdy jest wykazana w check_files.php na kolor czerwony
    2. Funkcja safe_mode nie zakłóca działania forum.
    3. Jest ona odpowiedzialna jedynie za zabezpieczenie systemu na serwerze.
    Zapewnia ona bezpieczeństwo danych użytkownika na serwerze współdzielonym.
    4. Gdy opcja safe_mode jest włączona, PHP sprawdza czy właścicielem pliku na którym na którym funkcja chce operować i właścicielem uruchamianego skryptu jest ten sam użytkownik.


Funkcje ograniczone w safe_mode

<TABLE BORDER="1" CLASS="CALSTABLE" style="border-collapse: collapse" bordercolor="#111111" cellpadding="0" cellspacing="0" ><COL><COL><THEAD ><TR ><TH >Funkcja</TH ><TH >Ograniczenia</TH ></TR ></THEAD ><TBODY ><TR ><TD ><A HREF="http://pl2.php.net/manual/pl/function.dbmopen.php" ><B CLASS="function" >dbmopen()</B ></A ></TD ><TD >Sprawdza czy pliki lub katalogi, na których będą przeprowadzane operacje, mają takie same UID (owner) jak skrypt, który jest aktualnie wykonywany.</TD ></TR ><TR ><TD ><A HREF="http://pl2.php.net/manual/pl/function.dbase-open.php" ><B CLASS="function" >dbase_open()</B ></A ></TD ><TD >Sprawdza czy pliki lub katalogi, na których będą przeprowadzane operacje, mają takie same UID (owner) jak skrypt, który jest aktualnie wykonywany.</TD ></TR ><TR ><TD ><A HREF="http://pl2.php.net/manual/pl/function.filepro.php" ><B CLASS="function" >filepro()</B ></A ></TD ><TD >Sprawdza czy pliki lub katalogi, na których będą przeprowadzane operacje, mają takie same UID (owner) jak skrypt, który jest aktualnie wykonywany.</TD ></TR ><TR ><TD ><A HREF="http://pl2.php.net/manual/pl/function.filepro-rowcount.php" ><B CLASS="function" >filepro_rowcount()</B ></A ></TD ><TD >Sprawdza czy pliki lub katalogi, na których będą przeprowadzane operacje, mają takie same UID (owner) jak skrypt, który jest aktualnie wykonywany.</TD ></TR ><TR ><TD ><A HREF="http://pl2.php.net/manual/pl/function.filepro-retrieve.php" ><B CLASS="function" >filepro_retrieve()</B ></A ></TD ><TD >Sprawdza czy pliki lub katalogi, na których będą przeprowadzane operacje, mają takie same UID (owner) jak skrypt, który jest aktualnie wykonywany.</TD ></TR ><TR ><TD ><B CLASS="function" >ifx_*()</B ></TD ><TD >Podlega ograniczeniom narzuconym przez sql_safe_mode, (!= tryb bezpieczny)</TD ></TR ><TR ><TD ><B CLASS="http://pl2.php.net/manual/pl/function" >ingres_*()</B ></TD ><TD >Podlega ograniczeniom narzuconym przez sql_safe_mode, (!= tryb bezpieczny)</TD ></TR ><TR ><TD ><B CLASS="function" >mysql_*()</B ></TD ><TD >Podlega ograniczeniom narzuconym przez sql_safe_mode, (!= tryb bezpieczny)</TD ></TR ><TR ><TD ><B CLASS="function" >pg_loimport()</B ></TD ><TD >Sprawdza czy pliki lub katalogi, na których będą przeprowadzane operacje, mają takie same UID (owner) jak skrypt, który jest aktualnie wykonywany.</TD ></TR ><TR ><TD ><A HREF="http://pl2.php.net/manual/pl/function.posix-mkfifo.php" ><B CLASS="function" >posix_mkfifo()</B ></A ></TD ><TD >Sprawdza, czy katalog, na którym ma być wykonywana operacja, ma takie same UID (owner) jak skrypt, który jest aktualnie wykonywany.</TD ></TR ><TR ><TD ><A HREF="http://pl2.php.net/manual/pl/function.putenv.php" ><B CLASS="function" >putenv()</B ></A ></TD ><TD >Podlega dyrektywom safe_mode_protected_env_vars i safe_mode_allowed_env_vars w <TT CLASS="filename" >php.ini</TT >. Zobacz również dokumantację do <A HREF="http://pl2.php.net/manual/pl/function.putenv.php" ><B CLASS="function" >putenv()</B ></A ></TD ></TR ><TR ><TD ><A HREF="http://pl2.php.net/manual/pl/function.move-uploaded-file.php" ><B CLASS="function" >move_uploaded_file()</B ></A ></TD ><TD >Sprawdza czy pliki lub katalogi, na których będą przeprowadzane operacje, mają takie same UID (owner) jak skrypt, który jest aktualnie wykonywany. </TD ></TR ><TR ><TD ><A HREF="http://pl2.php.net/manual/pl/function.chdir.php" ><B CLASS="function" >chdir()</B ></A ></TD ><TD >Sprawdza, czy katalog, na którym ma być wykonywana operacja, ma takie same UID (owner) jak skrypt, który jest aktualnie wykonywany.</TD ></TR ><TR ><TD ><A HREF="http://pl2.php.net/manual/pl/function.dl.php" ><B CLASS="function" >dl()</B ></A ></TD ><TD >Ta funkcja jest niedostępna w <A HREF="http://pl2.php.net/manual/pl/features.safe-mode.php" >trybie bezpiecznym</A ></TD ></TR ><TR ><TD ><A HREF="http://pl2.php.net/manual/pl/language.operators.execution.php" >lewy apostrof</A ></TD ><TD >Ta funkcja jest niedostępna w <A HREF="http://pl2.php.net/manual/pl/features.safe-mode.php" >trybie bezpiecznym</A ></TD ></TR ><TR ><TD ><A HREF="http://pl2.php.net/manual/pl/function.shell-exec.php" ><B CLASS="function" >shell_exec()</B ></A > (funkcja równoważna z lewym apostrofem)</TD ><TD >Ta funkcja jest niedostępna w <A HREF="http://pl2.php.net/manual/pl/features.safe-mode.php" >trybie bezpiecznym</A ></TD ></TR ><TR ><TD ><A HREF="http://pl2.php.net/manual/pl/function.exec.php" ><B CLASS="function" >exec()</B ></A ></TD ><TD >Możesz uruchamiać programy jedynie z katalogu zdefiniowanego dyrektywą <A HREF="missing-stuff.php#ini.safe-mode-exec-dir" >safe_mode_exec_dir</A >. Ze względów praktycznych obecnie nie ma możliwości stosowania <VAR CLASS="literal" >..</VAR > w ścieżce do programu.</TD ></TR ><TR ><TD ><A HREF="http://pl2.php.net/manual/pl/function.system.php" ><B CLASS="function" >system()</B ></A ></TD ><TD >Można uruchamiać programy jedynie z katalogu zdefiniowanego dyrektywą <A HREF="http://pl2.php.net/manual/pl/missing-stuff.php#ini.safe-mode-exec-dir" >safe_mode_exec_dir</A >. Ze względów praktycznych obecnie nie ma możliwości stosowania <VAR CLASS="literal" >..</VAR > w ścieżce do programu.</TD ></TR ><TR ><TD ><A HREF="http://pl2.php.net/manual/pl/function.passthru.php" ><B CLASS="function" >passthru()</B ></A ></TD ><TD >Można uruchamiać programy jedynie z katalogu zdefiniowanego dyrektywą <A HREF="http://pl2.php.net/manual/pl/missing-stuff.php#ini.safe-mode-exec-dir" >safe_mode_exec_dir</A >. Ze względów praktycznych obecnie nie ma możliwości stosowania <VAR CLASS="literal" >..</VAR > w ścieżce do programu.</TD ></TR ><TR ><TD ><A HREF="http://pl2.php.net/manual/pl/function.popen.php" ><B CLASS="function" >popen()</B ></A ></TD ><TD >Można uruchamiać programy jedynie z katalogu zdefiniowanego dyrektywą <A HREF="http://pl2.php.net/manual/pl/missing-stuff.php#ini.safe-mode-exec-dir" >safe_mode_exec_dir</A >. Ze względów praktycznych obecnie nie ma możliwości stosowania <VAR CLASS="literal" >..</VAR > w ścieżce do programu.</TD ></TR ><TR ><TD ><A HREF="http://pl2.php.net/manual/pl/function.mkdir.php" ><B CLASS="function" >mkdir()</B ></A ></TD ><TD >Sprawdza, czy katalog, na którym ma być wykonywana operacja, ma takie same UID (owner) jak skrypt, który jest aktualnie wykonywany.</TD ></TR ><TR ><TD ><A HREF="http://pl2.php.net/manual/pl/function.rmdir.php" ><B CLASS="function" >rmdir()</B ></A ></TD ><TD >Sprawdza czy pliki lub katalogi, na których będą przeprowadzane operacje, mają takie same UID (owner) jak skrypt, który jest aktualnie wykonywany.</TD ></TR ><TR ><TD ><A HREF="http://pl2.php.net/manual/pl/function.rename.php" ><B CLASS="function" >rename()</B ></A ></TD ><TD >Sprawdza czy pliki lub katalogi, na których będą przeprowadzane operacje, mają takie same UID (owner) jak skrypt, który jest aktualnie wykonywany. Sprawdza, czy katalog, na którym ma być wykonywana operacja, ma takie same UID (owner) jak skrypt, który jest aktualnie wykonywany.</TD ></TR ><TR ><TD ><A HREF="http://pl2.php.net/manual/pl/function.unlink.php" ><B CLASS="function" >unlink()</B ></A ></TD ><TD >Sprawdza czy pliki lub katalogi, na których będą przeprowadzane operacje, mają takie same UID (owner) jak skrypt, który jest aktualnie wykonywany. Sprawdza, czy katalog, na którym ma być wykonywana operacja, ma takie same UID (owner) jak skrypt, który jest aktualnie wykonywany.</TD ></TR ><TR ><TD ><A HREF="http://pl2.php.net/manual/pl/function.copy.php" ><B CLASS="function" >copy()</B ></A ></TD ><TD >Sprawdza czy pliki lub katalogi, na których będą przeprowadzane operacje, mają takie same UID (owner) jak skrypt, który jest aktualnie wykonywany. Sprawdza, czy katalog, na którym ma być wykonywana operacja, ma takie same UID (owner) jak skrypt, który jest aktualnie wykonywany. (dla <VAR CLASS="parameter" >źródła</VAR > i <VAR CLASS="parameter" >przeznaczenia</VAR >) </TD ></TR ><TR ><TD ><A HREF="http://pl2.php.net/manual/pl/function.chgrp.php" ><B CLASS="function" >chgrp()</B ></A ></TD ><TD >Sprawdza czy pliki lub katalogi, na których będą przeprowadzane operacje, mają takie same UID (owner) jak skrypt, który jest aktualnie wykonywany.</TD ></TR ><TR ><TD ><A HREF="http://pl2.php.net/manual/pl/function.chown.php" ><B CLASS="function" >chown()</B ></A ></TD ><TD >Sprawdza czy pliki lub katalogi, na których będą przeprowadzane operacje, mają takie same UID (owner) jak skrypt, który jest aktualnie wykonywany.</TD ></TR ><TR ><TD ><A HREF="http://pl2.php.net/manual/pl/function.chmod.php" ><B CLASS="function" >chmod()</B ></A ></TD ><TD >Sprawdza czy pliki lub katalogi, na których będą przeprowadzane operacje, mają takie same UID (owner) jak skrypt, który jest aktualnie wykonywany. Dodatkowo, nie można ustawić bitów SUID, SGID i sticky bit.</TD ></TR ><TR ><TD ><A HREF="function.touch.php" ><B CLASS="function" >touch()</B ></A ></TD ><TD >Sprawdza czy pliki lub katalogi, na których będą przeprowadzane operacje, mają takie same UID (owner) jak skrypt, który jest aktualnie wykonywany. Sprawdza, czy katalog, na którym ma być wykonywana operacja, ma takie same UID (owner) jak skrypt, który jest aktualnie wykonywany.</TD ></TR ><TR ><TD ><A HREF="http://pl2.php.net/manual/pl/function.symlink.php" ><B CLASS="function" >symlink()</B ></A ></TD ><TD >Sprawdza czy pliki lub katalogi, na których będą przeprowadzane operacje, mają takie same UID (owner) jak skrypt, który jest aktualnie wykonywany. Sprawdza, czy katalog, na którym ma być wykonywana operacja, ma takie same UID (owner) jak skrypt, który jest aktualnie wykonywany. (sprawdzany jest jedynie element do którego tworzony jest link)</TD ></TR ><TR ><TD ><A HREF="http://pl2.php.net/manual/pl/function.link.php" ><B CLASS="function" >link()</B ></A ></TD ><TD >Sprawdza czy pliki lub katalogi, na których będą przeprowadzane operacje, mają takie same UID (owner) jak skrypt, który jest aktualnie wykonywany. Sprawdza, czy katalog, na którym ma być wykonywana operacja, ma takie same UID (owner) jak skrypt, który jest aktualnie wykonywany. (sprawdzany jest jedynie element do którego tworzony jest link)</TD ></TR ><TR ><TD ><A HREF="http://pl2.php.net/manual/pl/function.getallheaders.php" ><B CLASS="function" >getallheaders()</B ></A ></TD ><TD >
W tybie bezpiecznym, nagłowki zaczynające się od 'authorization' (wielkość liter bez znaczenia) nie będą zwracane. Uwaga: w implementacji dla serwera AOL ta funkcjonalność jest uszkodzona </TD ></TR ><TR ><TD >Każda funkcja korzystająca z <TT CLASS="filename" >php4/main/fopen_wrappers.c</TT > </TD ><TD >??</TD ></TR ></TBODY ></TABLE>

Zadna z w/w funkcji nie jest potrzebna do normalnego funkcjonowania forum.

Mysle ze rozwieje to wiele pytan i domyslow.

zrodlo php.net i wiedza wlasna ;-)

vegetagt - 28-06-2005, 22:22

wersje php poniżej 4.3.10 (o dobrze ile pamiętam) miały bug. Umożliwiał on m.in oglądanie cudzych plików pomimo safe mode :P
patrick - 28-06-2005, 22:27

vegetagt, zgadza sie bylo cos takiego.
jest jeszcze inny sposób zapieczenia servera od strony php bez użycia safe_mode.
Jest to open_basedir metoda szerzej wykorzystywana w hostingach ;)

Kamka - 14-07-2005, 02:51

Modyfikacja nie dziala w pelnie na serwerze w trybie Safe Mode... ;/;/ Przy liscie tematow i w tematach jest dluga lista: warning: Illegal offset type....
patrick - 24-07-2005, 11:57

Kamka napisał/a:
Modyfikacja nie dziala w pelnie na serwerze w trybie Safe Mode...

prosil bym o screena bo nie wierze :P

Harry.Potter - 24-01-2006, 21:18

tabelka w 1. poście nie działa
damian_d - 31-01-2006, 14:56

OK mam pytanie dotyczace safe mode lepiej jest jak jest ono wlaczone czy wylaczone?
pietrex - 31-01-2006, 15:05

patrick napisał/a:
1. NIE jest to nic złego, wiec nie nalezy sie martwić, gdy jest wykazana w check_files.php na kolor czerwony


Lepiej wyłączone, ale to nie ma w sumie znaczenia...

Fidma - 06-02-2006, 22:55

a odpowiedz na pytanie:
- jak zmienic dafe mode na off i czy jest to sugestywnie lepsze od on ???

vegetagt - 08-02-2006, 13:14

Fidma napisał/a:
a odpowiedz na pytanie:
- jak zmienic dafe mode na off i czy jest to sugestywnie lepsze od on ???


w php.ini szukaj safe_mode i zmień mu wartość z On na Off. U mnie jest to 161 linijka a plik jest w /usr/local/lib

Fidma - 08-02-2006, 15:57

thx a gdzie ten plik? u mnie takiej sciezki w katalogu forum nie ma :shock:

a czy wylaczenie tej funkcji przyspiesza dzialanie silnika forum? Jakie sa kozysci a jakie wady tej funkcji i jej ON/OFF ?

Radek - 08-02-2006, 16:24

Fidma, no bu musisz byc adminem serwera i miec dostep do plikow konfiguracyjnych
Fidma - 08-02-2006, 16:27

chodzi ci o to ze tylko provider serwera ma do tego dostep?
Radek - 08-02-2006, 16:33

dokladnie
lms - 16-04-2006, 22:43

kochani!!!

zanim mnie zbanujecie, opierdzielicie i wyrzucicie w kosmos (bo pewnie po 4 godzinach grzebania w faq znalazłabym gdzieś odpowiedż zamiast pytać)

podaję wam link
http://www.wsforoom.boo.pl/check_files.php

ja jestem początkującym obsługiwaczem ;) php i mam pytanie. żeby zmienic te wszystkie kupy tam na chmod 777 to co muszę zrobić?

bardzo serdecznie uprzejmie i w ogóle intensywnie mocno proszę o pomoc!!!
;]



Powered by phpBB modified by Przemo © 2003 phpBB Group