0

在 Web 应用程序中,我有一个上传文件夹,其中存储了所有用户的文件,我需要消除执行它们的可能性。

如维基百科中所见:

chmod -R a-x+X directory
删除目录树中所有文件的执行权限,同时允许目录浏览。

但是在成功将其应用到上传文件夹后,当我在浏览器中打印它们的地址时,我放置在那里用于测试目的的所有附带的 php、perl 和 python 脚本(我怀疑所有其他类型的可执行文件)确实会被执行。

为什么会发生这种情况,我能做些什么来解决这个问题?

4

1 回答 1

2

perl、php 和 python 解释器将愉快地执行传递给它们的输入文件,无论它们的输入文件的执行权限位是否打开。(另一方面,如果文件有一个 shebang 行指定使用哪个解释器,则执行权限将受到尊重。但您的情况可能并非如此。)

您必须通过配置 Web 服务器(限制它认为可执行的目录)而不是在文件系统级别来解决此问题。

如果您使用的是 Apache,您可能需要查看全局配置或本地 .htaccess 文件中的 ScriptAlias 指令,如此处所述

于 2011-02-02T22:21:18.877 回答