簡體   English   中英

禁止上傳外殼文件。 的PHP

[英]Prevent upload shell files. php

我有圖片上傳網站。 有人在這里上傳shell文件。 我的驗證是:-檢查文件的mime(僅圖像的mimes可用)-檢查getimagesize是否返回數組(通過is_array),否則返回錯誤。 而且,有人正在上傳shell文件。 請幫忙。 thnkas很多!

小檢查:

$ext = ($_FILES['files']['type']); 

if (($ext != "image/jpeg") && ($ext != "image/pjpeg") && ($ext !="image/png") && ($ext != "image/gif") && ($ext != "image/bmp") && ($ext != "image/x-icon") && (!is_array(getimagesize($_FILES['files']['tmp_name'])))) {

    // Show error
} else {
    // Keep upload...
}

您應該檢查文件權限,不應由php執行。 將數據存儲在圖像的柵格數據矩陣中很容易(很明顯)。

看看這些無辜的水母:

無辜的水母

Stackoverflow將我無辜的.BMP轉換為.PNG

原始.bmp可以在朋友的服務器上找到。 如果您在左下角看,將會看到奇怪的像素,對應於寫入像素數據的ascii數據。

為了避免使用shell文件,您應該應用修改,該修改將稍微改變圖像的每個像素。

對我來說,轉換(壓縮)似乎是一個好的開始。

祝好運 !

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM