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

问题描述 投票:0回答:1

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

我已经尝试将要从(http://[server])运行的内部服务器地址添加到IE“内部网”站点和“互联网”站点,将安全级别降低到“内部网”下该区域的最低设置,并且“互联网”。关闭并打开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弹出的窗口:

enter image description here

任何想法有什么问题或与此相关的其他建议?

php windows-10 internet-explorer-11
1个回答
0
投票
我能够重现该问题,但是出于安全原因,似乎IE浏览器在下载bat文件时将始终显示此提示,并且我们无法将其禁用。
© www.soinside.com 2019 - 2024. All rights reserved.