【已解决】在一个网站下载pdf文件,在edge极速模式下下载报错,但是切换到兼容模式(就是使用IE的模式)可以正常下载This request has been blocked; the conten

报错:在一个网站下载pdf文件,在edge极速模式下下载报错,printExamCert:1 Mixed Content: The page at ‘https://ntcebm2.neea.edu.cn/apply/memapp/doLogin#’ was loaded over HTTPS, but requested an insecure form action ‘http://ntcebm2.neea.edu.cn/apply/common/mydown?fileName=ZKZ_14520801_20250307.pdf’. This request has been blocked; the content must be served over HTTPS.。但是切换到兼容模式(就是使用IE的模式)可以正常下载。

问题原因分析:

该问题是由于网页存在混合内容(Mixed Content) 导致的安全拦截。具体来说:

  1. HTTPS页面中的HTTP请求:用户访问的页面通过安全的HTTPS协议加载,但页面内的表单提交目标(action)却指向不安全的HTTP协议URL(http://ntcebm2.neea.edu.cn/...)。现代浏览器(如Edge极速模式)会默认阻止此类不安全请求。

  2. 兼容模式宽松处理:旧版IE或兼容模式对混合内容的限制较宽松,未强制阻止HTTP请求,因此下载能正常进行。

  3. 网站配置错误:网站后端生成表单时,错误地硬编码了HTTP协议的目标URL,而非使用相对协议(如 //ntcebm2...)或直接HTTPS,导致协议不匹配。


解决方案:

对于普通用户的临时解决方法:

  1. 继续使用兼容模式:临时切换至IE兼容模式下载文件,但需注意潜在安全风险。

  2. 手动修改URL协议(需测试):
    • 复制报错中的HTTP链接(如 http://ntcebm2...pdf)。
    • 将链接开头的 http:// 改为 https://,直接粘贴到浏览器地址栏访问。
    注意:若服务器不支持HTTPS下载,此方法可能失败。


针对网站管理员的根治方案:

  1. 修复表单的action URL
    • 将表单的action属性改为HTTPS协议或使用协议相对URL//ntcebm2...),自动继承当前页面的协议。
    • 示例代码修改:

    <!-- 错误写法(硬编码HTTP) -->
    <form action="http://ntcebm2.edu.cn/...">
    
    <!-- 正确写法(协议相对) -->
    <form action="//ntcebm2.edu.cn/...">
    
    <!-- 或直接强制HTTPS -->
    <form action="https://ntcebm2.edu.cn/...">
    
  2. 确保服务器支持HTTPS
    • 验证 https://ntcebm2.edu.cn/apply/common/mydown?... 可正常访问,且SSL证书有效。
    • 若原下载服务仅支持HTTP,需配置服务器启用HTTPS。

  3. 全站强制HTTPS
    • 通过服务器配置(如HSTS)或重定向规则,确保所有请求均通过HTTPS传输,避免混合内容问题。


不推荐的方案(存在安全风险):

降低浏览器安全设置:允许混合内容(在浏览器设置中关闭安全拦截),但这会暴露于中间人攻击风险,不建议使用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

秀秀_heo

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值