2012-10-17 22 views
7

$ _SERVER ['REMOTE_USER'] değişkenine dayanan bir dosyayı açtığım bir durum var. Bunun sahte olduğunu düşünmüyorum ama onaylamak isterim. Ben keyfi dosyaların okunması için kendimi savunmasız hale istemiyorum:

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

cevap

4

Evet, bu kullanıcı adı uzak kullanıcı tarafından belirtilen odur.

Parolayı da doğrulamanız gerekiyor. Parola sunucunuz tarafından doğrulanmışsa ve uygulamanız tarafından doğrulanmamışsa, muhtemelen tamamdır.

+0

Web sunucusu genellikle REMOTE_USER öğesini ayarlar, istemciyi değil ... –

+0

@MichaelBerkowski, Evet, açıklığa kavuşturalım ... '$ _SERVER' içindeki her şey sunucudan gelir, ancak REMOTE_USER tuşuna basıldığında ne olur? Kimlik doğrulama için sağlanan müşteri bilgisinden doğrudan elde edilir. – Brad

+2

evet, ancak sunucu başarılı bir kimlik doğrulama olmaksızın REMOTE_USER'yi doldurmaz; bu nedenle, diğer güvenlik arızalarının yokluğunda isteğe bağlı olarak kullanılamaz. –

İlgili konular