【问题标题】:WordPress/FTP Custom File Upload SecurityWordPress/FTP 自定义文件上传安全
【发布时间】:2010-01-27 16:51:12
【问题描述】:

我的文件上传例程首先检查以确保用户登录到托管上传表单的 wordpress 应用程序...检查!

这是执行此操作的上传实用程序顶部的代码...

if (!is_user_logged_in()){
    die("You Must Be Logged In to Access This");;
}

到目前为止一切顺利。现在我正在寻求进一步保护上传实用程序,以防止从上传的 zip 文件中提取恶意脚本(上传需要 zip 文件)。

我认为,使用 zip 的缺点是它可以包含任何数量或类型的文件,这可能会使处理变得比其他方式更复杂。

所以我的问题是有关如何进一步保护此上传器以确保不发送恶意文件的提示。所需的允许文件是 .php、.jpg、.gif、.png

【问题讨论】:

    标签: php


    【解决方案1】:

    你的方法走错路了。您需要确保 ZIP 文件中的所有文件都不会在恶意文件可能造成任何损害的情况下使用

    您永远无法保证上传的 ZIP 文件只包含非恶意数据。为此,您必须对其进行病毒扫描、解析包含的 PHP 代码等等。

    只要看到,无论包含什么恶意,都不会展开。

    例如,对于 PHP 脚本,您必须确保它们不会存储在可以从外部调用和执行它们的任何地方。

    对于图像......好吧,如果你想完全确保它们不包含任何攻击图像显示组件的漏洞,你总是可以使用 PHP 的 gd 函数复制它们,破坏任何 EXIF 元数据(以及可能任何其他有害的东西)在这个过程中。

    仍有一些基本的卫生设施可以而且应该做。 查看这个问题(下面的链接,markdown 现在似乎已损坏)以了解有关该问题的更多信息 - 特别是 bobince 的答案和他发布的链接。这教会了我很多很多

    How to make a safe file upload script in php?

    【讨论】:

    • 感谢佩卡提供的信息。这是用于将接收定期更新的 wordpress 主题。我不是要求删除和覆盖整个主题,而是寻求通过主题自己的选项面板提供一种方法来安装/上传更新相关文件的 zip 文件。
    • Pekka,做一些类似于 wordpress 本身所做的事情会更安全吗?提供远程自动更新安装的“升级”按钮?我不知道他们是如何做到这一点的,但我想知道这是否是一种更好的方式来做我想做的事情......
    • 嗯。我认为在安装升级(因此,可能是 PHP 文件)时,您没有真正的方法来保护任何东西。您想如何区分恶意 PHP 代码和善意代码?不可能做到的。您必须信任从中获取更新的下载位置,并确保真实不会受到损害。
    • 如果我使用本地化上传(通过带有 zip 文件的主题选项),如果我在电子邮件中发送密码并要求在上传处理之前使用该密码会更安全吗?
    • 它几乎不会增加安全性,是吗?如果我可以通过 FTP 访问某个站点,我无论如何都可以破解它,无论是借助模板还是不借助模板。
    猜你喜欢
    • 2012-01-25
    • 1970-01-01
    • 1970-01-01
    • 2019-03-17
    • 1970-01-01
    • 2018-08-03
    • 2013-12-08
    • 2016-04-11
    • 1970-01-01
    相关资源
    最近更新 更多