[英]How to validate files uploaded by URL in PHP
我通常知道如何驗證文件上傳,但是我正在尋找一種有關驗證通過URL上傳的文件的解決方案。
在這里,看看我的代碼,它是指獲取文件並將其保存在我的系統中:-
$file_url = 'https://www.something.com/images/Image.png'; // URL of the image/File
$destination_url = '/pictures/pics/image.jpeg';
//我必須假定它是圖像,並添加.jpeg,因為我不知道如何在不上傳的情況下驗證文件。
$data = file_get_contents($file_url); //gets the content of the file.
file_put_contents($destination_url, $data); //finally moves the file to system
現在我可以做所有事情,例如獲取文件的名稱,大小,類型等,但這不是重點,在將文件移至系統之前是否有任何方法可以對其進行驗證,因為此過程在安全性方面確實很糟糕角度來看,考慮到任何人都可以上傳任何大小/類型的文件。
在建議任何庫之前,請記住我正在使用laravel框架。
使用cURL檢查文件的mime類型。 http://php.net/manual/zh/function.curl-getinfo.php
在實際下載文件內容之前,可以使用get-headers()獲取信息,例如內容類型和文件大小。
要驗證文件是否確實如它所說的那樣,例如,檢查.pdf文件是否實際上是變相的.zip文件,現在情況完全不同了,恐怕沒有一種通用的方法可以檢查該文件。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.