Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Obcinanie możliwości PHP dla Usera.
Forum PHP.pl > Forum > PHP
ipe
Witam serdecznie,
mam pytanie odnośnie odcięcia możliwości korzystania userom z php - w sytuacjach gdy występują błędy itp.

Przykład jest prosty, dzieciak pisze skrypt php typu:

Kod
<?

$f=fopen("niematakiegopliku","r");

while(!feof($f)){

$s=fgets($f,80);print($s);}fclose($f);

?>


Rzecz jasna, w tym przypadku pakuje nam się śmieć o wiadomej treści do pliku error_log, staje cały serwer (zwłaszcza gdy takich operacji na raz wykonywanych po "Odśwież" kilka), proces apacza jest ubijany z powodu nadmiernego użycia pamięci, serwis pada.

Pytanie, jak zabezpieczyć się przed tego typu scriptkiddies, można owszem wywalic z konfiguracji php logowanie, ale jak wiemy to nas nie wybawia od problemu (zwłaszcza jak jesteśmy administratorami systemów publicznych), nie ma możliwości przerwania działania skryptu?

Pozdrawiam serdecznie.
kurtz
Hej
Cytat
Pytanie, jak zabezpieczyć się przed tego typu scriptkiddies, można owszem wywalic z konfiguracji php logowanie, ale jak wiemy to nas nie wybawia od problemu
hmm jedyne co mi przychodzi do glowy na ta chiwile to ograniczenie ilosci pamieci na php w php.ini .. kiepskie ale na raize innych pomyslow nie mam. moze ktos inny podrzuci jakis lepszy pomysl.


Pozdrawiam
ipe
Zmodyfikowałem tak jak napisałem konfigurację php, jednakże nie chroni to całkowicie przed problemem, owszem nie zabija serwera logami podczas gdy user wklepie pewien 'malformed' kod / instrukcję, niestety, jak wiadomo nie jest to pełnia sukcesu...

Dzięki mimo wszystko za pomoc, poczekamy, być może ktoś będzie jeszcze coś wiedział.
Jabol
Mysle, ze metoda kurtza jest niezla (to sie robi chyba z --enable-memory-limit, czy jakos tak). Mozna jeszcze zmniejszyc maksymalny czas wykonywania, rzeby sie tych logow mnie zrobilo, albo ustawic (nie wiem czy sie da, ale chyba sie da), ze kazdy blad wywala skrypt.
ipe
Cytat
Mysle, ze metoda kurtza jest niezla (to sie robi chyba z --enable-memory-limit, czy jakos tak). Mozna jeszcze zmniejszyc maksymalny czas wykonywania, rzeby sie tych logow mnie zrobilo, albo ustawic (nie wiem czy sie da, ale chyba sie da), ze kazdy blad wywala skrypt.


Ok, czas, pamięć można w php.ini spokojnie zmodyfikować, natomaist wywalanie skryptu podczas błędu - wymagało by chyba ingerencji w kod źródłowy php, czego robić nie wolno.
Cholernie jest to do tyłu, jeżeli nie da się tego skonfigurować pod względem właśnie "Wywal skrypt jeżeli błąd" ;/
kurtz
Hej,
Cytat
Ok, czas, pamięć można w php.ini spokojnie zmodyfikować, natomaist wywalanie skryptu podczas błędu - wymagało by chyba ingerencji w kod źródłowy php, czego robić nie wolno.
Cholernie jest to do tyłu, jeżeli nie da się tego skonfigurować pod względem właśnie "Wywal skrypt jeżeli błąd" ;/
Jest jeszcze jeden aspekt - jesli ktos ustawi limit nawet na poweidzmy 10 sekund to i tak kod w stylu [php:1:b149b1fce5]$i = 0;
while(1){
include($i . "niemapliku.txt");
$i++;
}[/php:1:b149b1fce5] sporo wygeneruje....

Pozdrawiam
ipe
Dokładnie, wydaje mi się słusznym wycięcie logowania błędów generowanych przez usera, chyba najbardziej owocna metoda.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.