如何以不依赖于扩展方式的方法在.htaccess文件中禁用CGI?

3
我希望禁止在我的文档根目录下的某个目录中执行任何类型的CGI脚本,无论是php、perl还是ruby等。我希望以一种不依赖文件扩展名的方式实现这一点。由于用户需要能够上传和查看HTML文件,所以应该放在文档根目录下方。

考虑到这是一个共享主机,因此必须在htaccess文件中进行设置。

使用-ExecCGI标志并不起作用。必须要添加一个AddHandler指令来处理特定的脚本扩展名。

我在这个话题中发现了一些接近的答案,但它们都只适用于特定的扩展名、特定的php版本或全局Apache配置。

是否有可能实现我的要求呢?

非常感谢!

1个回答

5

RemoveHandler .suffix 可以禁用指定后缀名脚本类型,其中.suffix是文件的后缀名。

如果您现在正在寻找一些通用脚本拒绝方法,请参考以下内容。

编辑:啊哈! 如果您不介意将目录中的所有内容作为静态内容提供 - 您可能不介意,因为这是您的问题所暗示的 - 只需设置该位置的默认处理程序即可。

<Directory something>
    SetHandler default-handler
</Directory>

default-handler是核心组件,因此不应该依赖于任何其他组件。如果我有误,请纠正我。


太棒了@esalaka!它有效了!!在.htacess中放置SetHandler default-handler使所有内容都作为静态内容提供,正是我想要的。HTML、CSS和图像都能够无问题地提供,而脚本则会导致一个空白页面,其中源代码是脚本代码。谢谢!!! - Waiting for Dev...

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接