2012-10-17 12 views
7

Mam sytuację, w której otwieram plik na podstawie zmiennej $ _SERVER ['REMOTE_USER']. Nie sądzę, że jest to możliwe do sfałszowania, ale chciałbym tylko potwierdzić. Nie chcę, aby się podatny na czytanie dowolnych plików:

<? 
     $user = $_SERVER['REMOTE_USER']; 
     $fp = fopen("./$user.png","r"); 
    ?> 

Odpowiedz

4

Tak, że nazwa jest cokolwiek jest określona przez użytkownika zdalnego.

Musisz również zweryfikować hasło. Jeśli hasło jest weryfikowane przez serwer, a nie przez aplikację, prawdopodobnie jesteś w porządku.

+0

Serwer internetowy zwykle ustawia REMOTE_USER, a nie klienta ... –

+0

@ Michael Christian, tak, pozwól mi wyjaśnić ... wszystko w '$ _SERVER' pochodzi z serwera, ale co pojawia się w klucz' REMOTE_USER' jest bezpośrednio uzyskiwany z informacji o kliencie podanych w celu uwierzytelnienia. – Brad

+2

tak, ale serwer nie zapełni REMOTE_USER bez pomyślnego uwierzytelnienia, więc nie może być arbitralnie zapełniany w przypadku braku innych błędów bezpieczeństwa. –

Powiązane problemy