阻止执行上传的php文件?

发布于 2024-11-05 08:27:56 字数 152 浏览 0 评论 0原文

在我的项目中,允许用户上传任何类型的文件。我需要确保安全性,以防止执行可由 php 解析的上传文件(*.php、*.html 等)。

有没有办法告诉 apache 不要在 web/uploads 中解析任何带有 php 的文件,并将它们简单地显示为纯文本?还有什么其他选择?

In my project users are allowed to upload files of any type. I need to ensure security against execution of uploaded files that can parsed by php (*.php, *.html, etc.)

Is there a way to tell apache not to parse any files with php in web/uploads and simply display them as plain text? What are other options?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

落花随流水 2024-11-12 08:27:56

将它们全部保存在同一文件夹下,并在目录的 .htaccess 文件中设置此行:

php_flag engine off

这还将处理其他漏洞,例如在 .gif 文件中嵌入 PHP 代码。

Keep them all under the same folder and set this line in the directory's .htaccess file:

php_flag engine off

That will also take care of other exploits such as embedding PHP code in .gif files.

肥爪爪 2024-11-12 08:27:56

您需要 Apache SetHandler 指令: http://httpd.apache.org/ docs/current/mod/core.html#sethandler

这使您可以强制目录中的所有文件由特定处理程序处理。因此,大致如下:

<Location /web/uploads>
SetHandler None
</Location> 

应该做你想做的事。

You want the Apache SetHandler directive: http://httpd.apache.org/docs/current/mod/core.html#sethandler

This lets you force all files in a directory to be processed by a certain handler. So something along the lines of:

<Location /web/uploads>
SetHandler None
</Location> 

should do what you want.

傲娇萝莉攻 2024-11-12 08:27:56

为什么不在上传到 .phps 时重命名文件扩展名呢?

澄清 PHPS 是 PHP 文件的源代码视图:

澄清:

file.php => file.phps

快速谷歌示例:

why not just rename the file extensions upon upload to .phps?

To clarify PHPS is the source code view of a PHP file:

To clarify:

file.php => file.phps

quick google example:

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文