首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在单页应用程序中更改视图(路由)时的安全性

问在单页应用程序中更改视图(路由)时的安全性
EN

Stack Overflow用户
提问于 2013-12-14 11:08:53
回答 1查看 121关注 0票数 0

我正在用Backbone.js开发一个带有PHP后端的页面应用程序。我以前从未开发过SPA,所以我想知道如何正确地保护它。通过使用csrf令牌和进行基于令牌的身份验证,保护请求相对简单。

,但是我们如何保护前端视图呢?这是真的吗?

除了建议的基于cookie的认证之外,我还没有找到任何关于这个问题的文章。魔法师使用了一个非常简单的"LOGGEDIN=true“cookie,但是如果我删除它,我仍然可以浏览这个应用程序。

在我看来,我们有以下选择:

  • 通过向例如/auth发送请求,询问服务器在主视图更改时是否登录。这是可行的,但这似乎是在浪费资源。
  • 使用一个简单的cookie来检查我们是否允许更改视图。不要关心曲奇的实际有效性。当用户请求资源时,正确进行身份验证。

我开始认为第二个选项就足够了,因为对视图的更改通常也涉及到对某种资源的请求,但是,如果cookie没有被验证,它有什么用呢?

EN

回答 1

Stack Overflow用户

发布于 2013-12-14 13:03:05

  1. 创建静态login.html。
  2. 如果用户没有有效的cookie (GET),请将其重定向到此页面。
  3. 使用401状态代码结束XHR,以防用户没有有效的cookie。
  4. 只有在登录成功后才重定向到SPA。
  5. 设置客户端重定向到登录页面,以防用户获得401错误代码。

客户端示例:

代码语言:javascript
复制
$(document).ajaxComplete(function(e, xhr) {
  if (xhr.status === 401) {
    // redirect to login.html
  }
});
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20582513

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档