HTML5 应用程序缓存问题 - php 注销应用程序



测试在线应用程序和appcache是否正常工作,但是,当注销然后返回到目标PHP页面时,if(!isset($_SESSION['user']))将用户返回到登录页面不起作用,即使会话信息不存在。会话已被销毁,用户未设置,并且 Cookie 在注销时已过期。尝试检查 cookie 状态的结果相同 - if(!isset($_COOKIE['name']))。!isset 正在返回 False 甚至认为 cookie 不存在。

从 html 标记中删除清单引用,它工作正常。

谢谢

html

标记中的清单引用将该页面添加到 appcache 中,即使它未在清单文件中列出。在浏览器中查看 chrome://appcache-internals/会将应用程序缓存和 html 页面显示为主条目。

Chrome和Safari在使用appcache时似乎忽略了no-chache no-store http标头。注入 iframe 以加载包含清单的单独页面时,不会从 Chrome 的缓存中检索主页元素。

解决方案是在javascript中检查cookie或sessionstorage状态,以确保用户在重新登录时不会被定向到缓存的页面。

最新更新