代码之家  ›  专栏  ›  技术社区  ›  Blerta

防止用户从我的网站保留浏览信息

  •  0
  • Blerta  · 技术社区  · 16 年前

    我想阻止我的网站将任何信息放入任何用户的浏览器历史记录中。

    6 回复  |  直到 16 年前
        1
  •  3
  •   BalusC    16 年前

    不可能。这是一个客户端设置,位于 不

    编辑 :根据评论和帖子,是否确实要禁用请求的缓存?如果是这样,那么您基本上需要在HTML中添加以下一组响应头 <head> 有问题的页数:

    <meta http-equiv="cache-control" content="no-cache,no-store,must-revalidate">
    <meta http-equiv="pragma" content="no-cache">
    <meta http-equiv="expires" content="0">
    

    我不使用ASP.NET,但您必须能够以编程方式执行类似操作。检查 response 对象,它应该有一个类似 setHeader(name, value) .

        2
  •  2
  •   Chris    16 年前

    除了一个显而易见的问题,即为什么要这样做,我认为您将很难将浏览器中的信息与服务器端的信息隔离开来。

    HTML Meta Tags 并查看meta标记的CACHE-CONTROL和PRAGMA-NO-CACHE选项。

    祝你好运,希望这对你有所帮助。

        3
  •  2
  •   Adam Davis    16 年前

    一些网站通过在flash、silverlight、Javascript或其他应用程序框架中创建网站来实现这一点,这些应用程序框架将URL与显示的内容断开关联。

    如果仔细操作,您可以将所有内容呈现给用户,并提供“正常”的浏览体验,但他们在历史记录中看到的唯一内容是一个URL。

    如果您想避免任何数据留在客户机上,您需要更加小心。AJAX请求可以被缓存。如果您想更仔细地控制缓存,以便永远不会将数据写入磁盘,那么您可能必须使用Flash或Silverlight,这其中也存在陷阱。有很多解决方法(比如不使用HTTP),但从客户机和服务器的角度来看,这都变得更加困难。

        4
  •  2
  •   Otávio Décio    16 年前

        5
  •  1
  •   IrishChieftain    16 年前

        6
  •  1
  •   Brian    16 年前

    将站点上的所有链接转换为符合相同URL的POST请求。该页面将是一个简单的asp页面,返回真实页面。请注意,这样做的副作用不仅仅是阻止您的站点拥有正确的历史记录。这些可能是也可能不是可接受的影响。

    推荐文章