7
我有一種情況,我打開基於$ _SERVER ['REMOTE_USER']變量的文件。我不認爲這是可欺騙的,但只是想證實。我不想讓自己容易受到任意文件的讀取:
<?
$user = $_SERVER['REMOTE_USER'];
$fp = fopen("./$user.png","r");
?>
我有一種情況,我打開基於$ _SERVER ['REMOTE_USER']變量的文件。我不認爲這是可欺騙的,但只是想證實。我不想讓自己容易受到任意文件的讀取:
<?
$user = $_SERVER['REMOTE_USER'];
$fp = fopen("./$user.png","r");
?>
是的,那個用戶名是遠程用戶指定的。
您還需要驗證密碼。如果你的服務器驗證了密碼,而不是你的應用程序,那麼你可能沒問題。
Web服務器通常設置REMOTE_USER,而不是客戶端... –
@MichaelBerkowski,是的,讓我澄清一下...... $ _SERVER中的任何內容都來自服務器,但是在REMOTE_USER鍵中顯示的內容直接來自爲認證提供的客戶端信息。 – Brad
是的,但服務器不會在沒有成功驗證的情況下填充REMOTE_USER,所以在沒有其他安全失敗的情況下不能任意填充。 –