假設圖片文件上傳的校驗邏輯是先explode by .取文件後綴成一個數組,取最後一個即jpg,通過後綴校驗(默認不能上傳php後綴的文件),接著調用move_uploaded_file進行文件上傳。這樣我們訪問www.test.ichunqiu/index.php.jpg就能執行我們的php代碼。對此可以在apache conf裡面寫上<Files ~ "\.(p|P)(h|H)(p|P)."> deny from all <Files>這樣就禁止訪問非php後綴的文件。但還是有辦法繞過,index.php%00.jpg,通過後綴判斷後php 5.3版本以下的move_uploaded_file函數會把%00後面的截斷,保存在服務器路徑下的文件名是index.php