浏览器提供网站的缓存版本

时间:2018-04-24 07:35:49

标签: javascript

所以我有这个/ 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是否有效。

如何阻止此缓存版本的投放?

2 个答案:

答案 0 :(得分:1)

注销后您正在清除cookie,因此在加载其他页面之前,您应该检查存储的cookie的值。根据条件重定向到另一页。

答案 1 :(得分:0)

您应该在页面加载之前检查cookie中是否存在auth_token。如果前端在React中,则要检查的函数应该在componentWillMount中。如果它在html / css和JS中,则应该在<script>标记中调用该函数。因此,此功能应存在于需要检查身份验证的任何页面中。