检测IE设置:检查存储页面的更新版本“从不”

时间:2009-10-06 15:12:19

标签: asp.net javascript security internet-explorer caching

据我所知,由于安全原因,没有办法直接询问用户IE设置,但有没有办法用其他机制推导出这个答案?如果设置“检查存储页面的较新版本”设置为“从不”,我想阻止用户使用我的网站。有什么建议?

有没有办法可以使用javascript测试?我想要完成的一个例子是:虽然无法检查IE设置以查看您是否正在运行弹出窗口阻止程序,但这是一种通过javascript“测试”弹出窗口阻止程序的方法。我正在寻找类似于缓存设置的东西,而不是弹出窗口阻止程序。

3 个答案:

答案 0 :(得分:0)

在之前不太可能使用的查询字符串中附加内容(日期字符串,随机数)。

这将使IE 6再次请求页面,就IE而言,它是另一页。

因此,如果您有http://somepage.com/dontcachethis.html,则可以使用http://somepage.com/dontcachethis.html?please=23143425代替please随机数字。

答案 1 :(得分:0)

将以下内容添加到您的网页:

meta http-equiv="Pragma" content="no-cache"
meta http-equiv="Expires" content="0"

这会强制用户的浏览器每次都重新加载页面,无论浏览器的缓存设置如何。

答案 2 :(得分:0)

我还没有实现这个,但这是我的计划:

  • 在某个HTML元素属性的页面上写出一个日期(这应该是服务器端编写的......用javascript编写它会失败的目的)
  • 使用javascript,加载日期。如果它超过一定的时间,我可以假设他们没有加载页面的新副本。如果是这种情况,请继续......

如果我发现他们有一个旧版本的页面,我可以做几件事:

  1. 我可以警告他们这个问题。我可以向他们展示他们需要改变的设置。
  2. 我可以将它们重定向到同一页面,但在查询字符串上添加一些内容,使其看起来像浏览器的不同页面。如果我这样做,我会在我的javascript中添加一些知道这个潜在重定向循环的东西。