gpt4 book ai didi

php - 如何安全地防止上传的文件在任何服务器上通过 PHP 运行?

转载 作者:可可西里 更新时间:2023-11-01 13:02:47 24 4
gpt4 key购买 nike

我注意到可以通过 PHP 运行一个文件,即使它的扩展名不是 .php,例如文件 test.xyz.php.whatever.zyx即使扩展名不是 .php,仍然可以使用 PHP 运行!它恰好在文件名中包含 .php.,这足以让我的 Apache 运行 PHP 脚本。

我试过(正如有人建议的那样)将其放入该文件夹的 .htaccess 文件中:

php_flag engine off

但它在我的机器上不起作用。

目前我知道的唯一解决方案是:

  • 重命名为不是通过 PHP 运行的已知文件扩展名,例如 .txt
  • 从文件名中删除所有点,从而使其无扩展名。

但我仍然不确定这些解决方案如何在我的 Windows 服务器(使用 Apache)以外的其他服务器上运行。

是否有任何其他解决方案不需要以任何方式重命名文件名?

最佳答案

对于用户上传我建议你在根路径上面的一层上传一个文件夹在这种情况下,只有您有权访问上传文件夹(直接寻址) 并且攻击者无权访问此文件夹中的任何文件因此,您禁用了攻击者运行恶意文件的操作

关于php - 如何安全地防止上传的文件在任何服务器上通过 PHP 运行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13272231/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com