這就是我所擁有的。如何阻止除了.exe以外的每個文件類型
<?php
if ((($_FILES["file"]["type"] == "file/exe")
&& ($_FILES["file"]["size"] < 20000000))
{
我只需要上傳.exe文件類型,我該怎麼做? reg ex?(PHP)
這就是我所擁有的。如何阻止除了.exe以外的每個文件類型
<?php
if ((($_FILES["file"]["type"] == "file/exe")
&& ($_FILES["file"]["size"] < 20000000))
{
我只需要上傳.exe文件類型,我該怎麼做? reg ex?(PHP)
我認爲你應該使用類似finfo_file
的東西。據我所知,$_FILES["file"]["type"]
可以被上傳者欺騙他想要的任何東西。
此外,您還可以檢查MIME類型,每個文件名.exe的可執行文件始終默
pplication /八位字節流,應用程序/ x-msdownload,應用/ EXE,應用程序/ x軸的應用類型如果你使用的RegExp或pathinfo,在這種情況下,我認爲是應用程序/ x-winexe,應用程序/ msdos窗口,應用程序/ x-msdos程序
更簡單,你只檢查文件名而不檢查文件類型。
檢查this answer來看看如何獲得MIME類型(FileInfo的或mime_content_type)
沒有可靠的方法來做到這一點作爲由客戶端發送的所有信息可以被篡改。
我只想檢查文件的擴展名,如:
if (strncasecmp(substr($_FILES["file"]["name"], -4), '.exe') === 0) {
// is .exe
}
此外,你可以查找特定magic numbers。
只要確保要傳遞該文件,您就可以使用適當的MIME媒體類型(例如application/octet-stream)。
$_FILES["uploaded_files"]["type"][$i] != "application/octet-stream"