所以我有这个/ login,其中javascript要求用户输入密码,我们正在通过服务器进行身份验证并返回auth_token。
我们将auth_token存储在cookie中以转到该站点中的其他页面。现在输入密码后,转到主页。
有一个注销按钮,用于清除cookie。并设置位置= /
document.cookie = 'auth_token=;expires=Thu, 01 Jan 1990 10:50:21 PST;';
location.replace('/');
现在如果我按下注销,它会清除cookie并转到/。如果我按回去,它将进入黑页。这是预期的。
但是,如果我按 - >在浏览器上并执行< - 和 - >它仍然提供主页的缓存版本,需要进行身份验证。
问题是服务器没有检查cookie是否有效。
如何阻止此缓存版本的投放?
答案 0 :(得分:1)
注销后您正在清除cookie,因此在加载其他页面之前,您应该检查存储的cookie的值。根据条件重定向到另一页。
答案 1 :(得分:0)
您应该在页面加载之前检查cookie中是否存在auth_token。如果前端在React中,则要检查的函数应该在componentWillMount
中。如果它在html / css和JS中,则应该在<script>
标记中调用该函数。因此,此功能应存在于需要检查身份验证的任何页面中。