【问题标题】:IE "Webpage has expired" over https onlyIE“网页已过期”仅通过 https
【发布时间】:2016-10-20 03:36:57
【问题描述】:

使用以下代码,在查看报告后返回。

<A HREF="javascript:history.back()" >

我们在两个网络中都有这个功能,一个是使用 http,另一个是 https 连接。

对于 http,它在 IE、Chrome 和 Firefox 中完美运行。

对于 https,它不适用于 IE。它不断给出网页已过期错误。

最可能的原因: •此网页的本地副本已过期,网站要求您重新下载。

任何人都可以为此提出解决方法吗?是什么导致了这种行为?

【问题讨论】:

  • 第一页(您要返回的页面)是已提交的表单吗?使用 POST
  • 是的,它是使用 POST 提交的表单

标签: internet-explorer


【解决方案1】:

您可以尝试几种不同的选项,具体取决于您当地的环境和限制条件。

理想情况下,您应该遵循POST/Redirect/GET 设计模式,以帮助防止过期或重复的表单重新提交。

我还没有尝试过,但正如this SO answer 在 PHP 环境中提到的,您可以尝试添加:

ini_set('session.cache_limiter','public');
session_cache_limiter(false);

在您的 php 文件中或通过 php.ini 在服务器范围内更新它

Another answer 可以将表单更改为通过 GET 而不是 POST 提交,但这又取决于表单正在捕获的数据类型和数量。

如果不了解更多关于环境、表单本身和目的的信息,就很难提供最佳解决方案。 可能还值得考虑重定向并使用随机标识符将数据临时存储在某处,以便后退按钮转到https://example.com/myform?formdata=[randomidentifier] 之类的东西,这样当用户返回时,他们不会转到过期的 POST 请求,而是转到重定向的可以提取数据并重新显示表单或执行必要功能的页面 (但同样,如果您正在收集PII 或付款详情等,您不想将其暴露在网络上,即使是暂时的)

【讨论】:

  • 感谢您的建议,将测试一下。出现此错误是否是由于在安全连接中,信息不会被缓存存储?
猜你喜欢
  • 2013-04-02
  • 1970-01-01
  • 2020-11-10
  • 1970-01-01
  • 2022-01-18
  • 1970-01-01
  • 2011-01-15
  • 2018-05-19
  • 2011-01-20
相关资源
最近更新 更多