这并不奇怪或不常见,这是浏览器的工作方式,页面被缓存并且是浏览器历史的一部分。这并不是WordPress所特有的,而是许多web应用程序所特有的。
提供解决方案也有不同的方法。首先(不是很好的解决方案),clearing the browser history.
另一方面,发送特殊的缓存头,就像推特一样。退房the RFC 有关详细信息。
Making sure a web page is not cached across all browsers 也是一个很好的起点。
您可以为将查看敏感信息的登录用户添加反缓存标头。所有包含敏感信息的页面都必须有这些标题,以便浏览器能够遵守这些标题,并在注销后按后退键重新验证。对于其他所有人(未登录),保持浏览器缓存可用,这通常是一个好主意。
Setting headers in WordPress, 反对is_user_logged_in
或user_can
非常直接。
add_action( \'init\', function() {
/* Force no-cache headers on *ALL* front pages and in *ALL* cases */
/* Proof of concept, do not use */
header( \'Cache-Control: no-cache, no-store, must-revalidate\' );
header( \'Pragma: no-cache\' );
header( \'Expires: 0\' );
/* Do same for admin_init to get dashboard to not cache */
} );
通过以上测试,它似乎可以工作,至少在铬合金中是这样。希望这有帮助。好问题,我想知道为什么WordPress至少在仪表板页面上不强制重新验证。
已创建票证以解决一般管理员问题:http://core.trac.wordpress.org/ticket/21938