繁体   English   中英

PHP 标头在 Internet Explorer 11 上强制下载不会跳过弹出窗口

[英]PHP headers force download on Internet Explorer 11 won't skip pop up

我有这些 PHP 标头,它们将强制下载(内联网站点)在 Chrome 上运行而不提示弹出窗口,但我无法避免 Windows 10 上的 Internet Explorer 11(版本 11.657.18362.0)中的弹出警告。

我已经尝试将内部服务器地址添加到 IE 的“内联网”站点和“互联网”站点( http://[server] ),将安全级别降低到“内联网”下该区域的最低设置和还有“互联网”。 关闭并打开 Internet Explorer,它仍然有弹出警告。

这是我的PHP代码如下:

if ($_REQUEST['c']){
    $num = $_REQUEST['c'];
    $cmd = "test.exe $num";
    $ctype ="application/octet-stream";
    ob_end_clean();
    header('Content-Description: File Transfer');
    header('Content-Type:' . $ctype);
    header('Content-Disposition: attachment; filename="test.bat"');
    header('Content-Transfer-Encoding: binary');
    header('Expires: 0');
    header('Cache-Control: no-cache, must-revalidate');
    header('Pragma: public');
    header('Content-Length: ' . strlen($cmd));
    echo($cmd);
    exit;
}

此外,一旦 bat 文件下载完毕,用户计算机上就会有一个单独的 AutoIt 脚本,它会扫描下载文件夹中的特定文件,并自动运行该文件并删除它,用户无需执行任何操作。 这个想法是将用户的点击限制为一次。

这是我点击下载下面的 bat 文件时从 IE 得到的弹出窗口:

在此处输入图片说明

任何想法有什么问题或其他建议?

我可以重现这个问题,但是出于安全原因,IE浏览器在下载bat文件时似乎会一直显示此提示,我们无法禁用它。

作为一种解决方法,我建议您可以将 bat 文件转换为 ZIP 文件,然后下载它。 以下是一些有关如何使用 JavaScript 压缩文件的相关主题,您可以查看它们:

如何使用javascript创建zip文件?

如何使用 JavaScript 压缩文件?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM