我的服务器必须只接受PDF文件。 我使用PHP来上传文件。 目前,我检查,如果该文件以PDF%开始,以确保上传的文件确实是一个PDF文件。 有其他的检查,以确保100%(或至少非常强烈),这是一个PDF文件。 恶意用户可以上传可执行文件以PDF%开始? 我会很感激的任何帮助。
Answer 1:
您可以使用PECL FileInfo
扩展检测MIME类型。 (但我怀疑,在内部,它只是做你已经做了同样的事情。)另外,你可以使用FPDI
看是否可以成功读取文件。 随着PDF文件,虽然,我认为嵌入的恶意软件比名不副实的可执行文件更大的关注。 任何你接受来自用户的上传时间,它可能是通过运行该文件是一个好主意ClamAV
或相似的。
文章来源: Authenticity of uploaded pdf files