blokowanie wyboru plikow wiekszych niz np 1 mega

0

Witam
czy wie ktos moze jak w skuteczny sposob zablokowac mozliwosc uploadu plikow wiekszych niz okreslona wielkosc
znalazlem cos takiego
<input type="hidden" name="MAX_FILE_SIZE" value="1048576" />
ale to nie dziala w ogole

0

Sprawdź na serwerze ile waży plik.

$_FILES['plik']['size']

Zamiast plik nazwa pola w file.

0

Domyślam się że nie jesteś na dedykowanym, a żaden admin nie zezwala a przynajmniej nie powinien pozwalać na edycje rozmiaru plików przesyłanych przez formularze z poziomu konta użytkownika.

Można próbować w .htaccess nadpisać wartość... ale wątpię... to niezgodne z polityką bezpieczeństwa.

Tak wiec.

Zabawa po stronie przeglądarki jest bezcelowa.

Jeżeli chcesz ograniczyć do konkretnego (mniejszego niż limit PHP opisany w ustawieniach php.ini)

$maksymalny=50000;
$file_size=$HTTP_POST_FILES['twojplik']['size'];
if($file_size >= $maksymalny){
//plik jest zbyt duzy
}
else
{
//plik jest ok
}
0

Przecież

 <input type="hidden" name="MAX_FILE_SIZE" value="1048576" />

Idzie po stronie usera, ale większość przeglądarek to olewa.

0

Po stronie usera? Przeglądarka to olewa, bo to bez znaczenia jest.

Plik przez HTTP leci nieważne jak wielki jest, co sobie user wybierze, ale jeśli jest większy niż MAX_FILE_SIZE (względnie ograniczenia PHP/serwera) to PHP wrzuci po prostu błąd UPLOAD_ERR_FORM_SIZE do tablicy $_FILES (ewentualnie UPLOAD_ERR_INI_SIZE).

Żeby zrobić dialog wyboru plików z ograniczeniami trzeba by się odwołać może do Flasha (nie wiem czy na to by pozwolił), ewentualnie podpisanego apletu Javy czy zaufanego obiektu Silverlight.

1 użytkowników online, w tym zalogowanych: 0, gości: 1