这就是我所拥有的。如何阻止除了.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"