我正在使用Backbone.js
后端在PHP
开发单页应用程序。我之前从未开发过SPA,所以我想知道如何正确保护它。通过使用csrf令牌和基于令牌的身份验证来保护请求相对简单。
但我们如何保护前端观点?这甚至是nessesary吗?
除了建议的基于cookie的身份验证之外,我还没有找到关于这个主题的任何文章。 Wunderlist使用了一个非常简单的“LOGGEDIN = true”cookie,但是如果删除它,我仍然可以在应用程序中导航。我认为,我们有以下选择:
当主视图发生变化时,询问服务器是否已登录,方法是向例如/auth
。这可行,但似乎浪费资源。
使用简单的Cookie检查是否允许我们更改视图。不关心cookie的实际有效性。用户请求资源时正确认证。
我开始认为第二个选项已经足够了,因为对视图的更改通常还涉及对某种资源的请求,但是如果cookie未经过验证,那么它有什么用处呢? / p>
答案 0 :(得分:0)
客户端示例:
$(document).ajaxComplete(function(e, xhr) {
if (xhr.status === 401) {
// redirect to login.html
}
});