【问题标题】:PHP - file uploads and ways to prevent viruses from being uploaded in zip/rar archivesPHP - 文件上传和防止病毒在 zip/rar 档案中上传的方法
【发布时间】:2010-05-09 16:45:23
【问题描述】:

我正在尝试在我的网站上提供一项服务,允许用户上传文件,以便其他人下载。

问题是,由于我允许上传的其中一些文件是 .zip/.rar 文件,我很好奇有什么想法可以帮助防止上传包含病毒/木马等的档案。一些 .zip 文件将包含合法的 .exe 文件,但我不确定我有哪些选项。

我考虑过,但我没有在服务器上使用病毒扫描程序进行验证的方法,因为我在共享主机上,没有运行类似服务的选项......我也没有如何做到这一点的知识。我也知道没有 php 类或数据库来扫描文件中的病毒。这意味着,我唯一的选择是依靠:

一)。手动批准

无论如何,关于“b” - 你会提出什么建议?

【问题讨论】:

  • 您确定您的共享主机提供商允许文件上传托管在您的服务上吗?他们中的大多数人不这样做,这是他们不这样做的主要原因之一。
  • 在某些国家/地区,您应对从您的网站下载的任何内容负责,请勿这样做,除非您确切知道正在上传/下载的内容。
  • 文件是游戏的“模组”。这些文件可以是.exe,也可以是简单的图像文件来修改游戏...我不能简单地在我的条款和条件部分添加,通过使用本网站,用户同意我不承担任何责任对于已上传/下载的内容,因为并非所有文件都可以验证等。
  • 不 - 您不能通过在您的网站上放置免责声明来更改其他国家/地区的法律。如果您需要发布可能包含嵌入式恶意软件的内容,那么您没有办法可以防止设施被滥用(即使使用每个病毒检查程序扫描每个文件也无法保证 - 请阅读保修在您选择的 AV 软件上)。即使您只允许您知道是干净的静态内容(例如通过格式循环),那么您实际上也没有针对知识产权声明的保护。

标签: php mysql web


【解决方案1】:

“报告”按钮听起来是个好主意,也许您也可以添加一个评论系统,让人们解释为什么他们认为该文件是病毒或只是一个无用的文件(并找到一种“表示感谢”的方法给用户,比如 StackOverflow 上的信誉系统?)。

【讨论】:

  • 我已经安装了 cmets 系统。我也已经添加了标记系统。我想知道其他额外的想法,如果有的话......我唯一想到的另一件事是手动批准它们 - 只有我才能拥有我自动批准的“受信任”用户。这样我只需要第一次检查用户上传的内容,然后我“相信”他们不会做任何坏事……然后我还提供其他功能:标记和 cmets。
  • 并让“受信任的”用户能够按照 Robus 的建议将文件标记为“危险”?
【解决方案2】:

下载旁边有一个大的“报告病毒”按钮?手动批准这些应该是可能的。

或在多次点击后将文件标记为“潜在危险”。

【讨论】:

    猜你喜欢
    • 2020-10-14
    • 1970-01-01
    • 1970-01-01
    • 2010-10-13
    • 2013-09-13
    • 2021-05-21
    • 2012-03-27
    • 1970-01-01
    • 2011-08-07
    相关资源
    最近更新 更多