如何使用PHP检查文件是否为bash文件?

如何使用PHP检查文件是否为bash文件?,php,Php,我的网站上有一个功能,允许人们上传各种类型的文件。我不希望人们上传bash文件,但我不能仅仅通过文件扩展名来判断,因为据我所知,.pdf文件只能包含bash代码。有没有办法检查文件是否可以用bash运行?使用mime\u content\u type: 对我来说,这听起来像是个好主意。人们上传bash脚本有什么问题?你不能让他们跑。记住,即使是bash脚本也必须是第一个脚本。此外,文件扩展名从来都不是检查文件类型的好方法。至少不是它本身。人们上传bash脚本有什么问题?我的导师告诉我,在服务器上

我的网站上有一个功能,允许人们上传各种类型的文件。我不希望人们上传bash文件,但我不能仅仅通过文件扩展名来判断,因为据我所知,.pdf文件只能包含bash代码。有没有办法检查文件是否可以用bash运行?

使用mime\u content\u type:


对我来说,这听起来像是个好主意。人们上传bash脚本有什么问题?你不能让他们跑。记住,即使是bash脚本也必须是第一个脚本。此外,文件扩展名从来都不是检查文件类型的好方法。至少不是它本身。人们上传bash脚本有什么问题?我的导师告诉我,在服务器上自由上传bash或其他可执行脚本是个问题,因为我们不知道它是否会被触发,如何使用等等。好吧,上传的文件会发生什么情况完全取决于你和你的应用程序。如果您确保它们没有设置可执行位,并且确保它们不会被执行,那么我看不出有什么特别的问题。然而,我决不是这个领域的专家。页面将如何处理这些文件?它只是一个文件托管服务吗?如果让您感觉更舒服的话,您可以将每个文件包装在一个zip中。
// #!/bin/bash
$result = mime_content_type(/path/to/exmple);
$result = 'text/x-shellscrip';

// #!/bin/sh
$result = mime_content_type(/path/to/exmple);
$result = 'text/x-shellscrip';