簡體   English   中英

如何在PHP中驗證通過URL上傳的文件

[英]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.

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