关于这个问题,之前了个帖子,如下
http://topic.csdn.net/u/20110104/12/c148169a-20bf-499b-a049-edc712fcee65.html有些啰嗦,总之是探寻禁止post缓存登录的问题。大家给出了指点,用跳转刷新,我也google了一些,找到了Post Redirect Get方面的资料。
现在程序流程如下1.  index.html 通过post提交口令到认证页面。
2.  logon.php 认证页面,口令通过启用session,跳转到内容页面(应该是get方式跳转)。否则跳转到index.html首页。
3.  info.php 内容页面,判断session,否则跳转到index.html首页。
4.  quit.php 注销页面,销毁session,跳转到index.html首页。
当注销后,通过浏览器回退,访问info.php,是访问不了的。
问题是,继续回退到logon.php,浏览器提示过期,但是刷新后,可以继续登录访问。这就是困扰我的post缓存登录问题。看看各大网站的情况,他们是怎么做的?
百度     登录,注销后,再回退,刷新,又可以登录了。
csdn     登录,注销后,不能在回退了(可能清除了缓存或者历史记录)
网易邮箱 登录,注销后,再回退,不能登录想寻求一种登录方式,避免浏览器回退,刷新登录。大家有什么好的办法和见解,指点一二。
业内标准或是成熟的方法是什么呢?不甚感激

解决方案 »

  1.   

    发现上述程序流程,在ff下,回退是不能访问到logon.php
    ie只是提示过期,你可以强制刷新访问。看来ff要比ie智能些
      

  2.   


    if(!isset($_SESSION['user_name']) && empty($_SESSION['user_name']))
    {
         require '登录页面';
    }
    else
    {
        require '登录成功后页面';
    }
      

  3.   

    这种方法貌似认证失败成功都显示 logon.php 页面,但是调用quit.php,注销后,回退,就回退到logon.php,依然可以记住最近的一次成功登陆,刷新后,又可以登录了
      

  4.   

    刚发现了csdn的一个认证问题,不知道算不算bug首页登陆后,注销,回退后,ie的回退按钮变灰色(可能回退按钮被禁止,可能之前的历史被清理)
    这个时候刷新是登陆不了的,但是你在点击登陆,输入口令,是无论无何也登陆不了的,只能关闭该页,重新开启页面登陆。有什么好的方法,解决 php post缓存,回退刷新登录呢?
      

  5.   

    可以根据 SESSION或者COOKIE来判断是否是第一次加载页面,如果是第一次加载页面,那么就显示过期信息,如果不是,则显示登录页面即可