上传的目录不应具有任何"execute"权限



我有点新的PHP。如果文件可执行,我如何检查PHP中的上传文件?我发现此函数IS_Executable,但我不确定此功能是否仅检查文件的名称...如果我更改upload.txt中的upload.exe的名称怎么办?谢谢!

在类似于Unix的系统(MACOS,所有Linux口味和其他一些(上,is_executable()返回TRUE,如果文件具有" execute"位设置(x上的CC_3(。当文件需要确定文件是否可执行时,该文件的名称不起作用。

一个新的上传文件从来没有设置。该文件由PHP解释器生成,没有理由将其设置。


在Windows上,is_executable()询问文件是否可执行。操作系统查看文件标头,以查看它是否看起来像PE可执行格式。这包括.exe.dll文件以及其他一些文件类型。不可能通过重命名upload.txt的真实可执行文件来欺骗窗口上的is_executable()

但是,在Windows上,所有文件格式都可以通过在Explorer中双击它们打开,可以"执行"。.html文件,F.E。在默认浏览器中打开。它们可以使用执行程序的任何PHP函数"启动",即使is_executable()返回为他们返回FALSE

最新更新