[英]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 压缩文件的相关主题,您可以查看它们:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.