【问题标题】:file.exe is not commonly downloaded and could be dangerous - Google Chromefile.exe 不常被下载,可能很危险 - Google Chrome
【发布时间】:2014-11-29 01:32:33
【问题描述】:

在我的 PHP 网站上,我有一个“下载区”,其中有一个选择框和一个下载按钮。首先,用户选择文件,然后点击“下载”。

下载按钮触发window.location = "...... .exe" 命令,谷歌浏览器根本不喜欢这个:

问题

  • 这种下载方法有什么“危险”?
  • 如何在客户端点击 HTML 按钮时正确执行下载?

【问题讨论】:

    标签: google-chrome download exe


    【解决方案1】:

    为什么 apache2 在重定向时使用不同的 MIME 类型?

    它没有。 application/x-msdos-program.exe 文件的正确 MIME 类型。

    如何在不使用复杂的解决方法(例如手动输入 MIME 类型)的情况下更正此错误?

    你不能。您在 Chrome 中看到的错误会针对所有不熟悉的已下载 .exe 文件显示,无论其 MIME 类型如何。

    【讨论】:

    • 也许我走错了方向,认为应该归咎于 MIME 类型。我将编辑我的问题。
    • 你仍然在责备错误的事情。该警告与下载的触发方式无关,与它是 Chrome 不知道的 Windows 可执行文件是安全的这一事实有关。
    • 你是对的。对不起,我的分析很糟糕。但我以前从未在 Google Chrome 中看到过这样的警告!我可以理解我的可执行文件不在这个特定的“列表”左右。我也买不起签名。但是有很多网站,您可以在其中下载不会在 Google Chrome 中引起此类恼人消息的文件,对吧?有什么办法可以解决这个问题吗?
    【解决方案2】:

    在我的情况下,我用以下一组标题解决了这个问题:

    Cache-Control: max-age=864000
    Content-Type: application/octet-stream
    Content-Disposition: attachment; filename="....zip"
    Content-Transfer-Encoding: binary
    Last-Modified: ...
    Etag: ...
    Content-Length: ...
    

    要格外注意 Content-Type、Cache-Control、Last-Modified 和 Etag,它们似乎对我很有帮助。

    【讨论】:

      猜你喜欢
      • 2020-05-27
      • 1970-01-01
      • 2011-02-20
      • 1970-01-01
      • 2017-09-30
      • 1970-01-01
      • 1970-01-01
      • 2011-03-19
      • 1970-01-01
      相关资源
      最近更新 更多