2012-05-01 21 views
0

根據Secure User Image Upload Capabilities in PHP,推薦的方法是管理圖像上傳的安全性是將輸入圖像與GD/ImageMagick/...(並用隨機名稱設置)複製。圖片上傳安全。 GD夠了嗎?我什麼時候使用它?

好的。我有以下問題。

1st。

在我們的頁面中,我們可以裁剪圖像。所以:

  • 首先我們下載用戶上傳的圖片,並用隨機名稱保存在臨時圖片中。
  • 然後我們在我們的視圖中加載它,以便用戶可以裁剪它。
  • 裁剪的圖像是用GD創建的。

加載圖像時未先用GD處理是否有風險?

第二

是處理與GD足夠的形象呢?我已經看到了這個答案:Block upload of executable images (PHP) 其中說不是(與第一個鏈接和我在主題上看到的其他答案相反)。

謝謝! PS:用Codeigniter編程。

回答

0

1st:

這應該是夠好的了。確保圖像只能臨時訪問,並在完成所有操作後立即刪除(我可能還會設置一個cron作業來每隔一段時間清理一次臨時圖像目錄,但這取決於你存儲它的位置)。正如您發佈的答案中所述,請記住清理名稱並確保您已正確設置權限。還要注意空字節注入和目錄遍歷(再次重複你提到的答案)。 然後我會使用getimagesize來檢查圖像是否有效,以確保它是一個實際的圖像,這就是它。

也有客戶端html5解決方案,您完全避免了這個問題,但當然這意味着它不適用於舊版瀏覽器。 當然,不要相信它說的是什麼內容類型。

2nd: 是的我會想到,首先嚐試getimagesize,如果你有效然後處理與GD。或者,您也可以將白名單擴展名列入白名單,如果這是您未做的事情。

相關問題