首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >处理前端登录的安全方法

处理前端登录的安全方法
EN

Stack Overflow用户
提问于 2018-11-15 10:26:48
回答 2查看 4.2K关注 0票数 4

关于如何保护登录页面(Web),我脑海中闪现了几个问题。

当我构建一个演示应用程序,例如一个带有VueJS的web应用程序,或者仅仅是使用HTML/JS时,我想登录页面是安全的吗?还是我漏掉了什么。

例如:当我创建用户可以单击登录按钮的登录页面时,我可能会向后端服务器发送一个请求,如果成功,将返回访问令牌,然后将我的前端页面路由到下一个视图,或者创建一些不必要的对象。

现在来问一个问题:如果登录真的有效,是否有一种方法来呈现一个新的视图?因为我只需查看Javascript文件,就可以更改响应,或者填写自己的响应并显示行为,所以只有在登录成功时才应该显示。

我是被迫这么做的,还是有同样的结果?我是不是遗漏了什么?谢谢你的回答!我希望你能理解我的意思。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-11-15 13:53:47

我假设我们是在一个典型的单页面应用程序/web应用程序上下文中,有分开的前端和后端(api)项目,通过(异步) HTTP请求进行通信:

在这种情况下:是的,它将是安全的,因为您的前端一开始不包含任何受保护的数据。服务器的责任是只发送客户端允许拥有的数据。

在这种情况下,服务器对登录的确切响应并不重要。它可以是一个成功的JSON和一个令牌,也可以是当前的用户对象和cookie。重要的是,您的前端现在知道了服务器给它的一个秘密。前端现在可以愉快地切换到另一个视图(请记住,视图不附带任何数据),并请求一些它希望用接收到的秘密显示的受保护的数据。

如果你欺骗前端以为你已经登录了,请求现在就会失败(因为你从来没有从服务器那里得到一个秘密),你会坐在那里,在一个空白的UI中出现,很可能是一个错误信息。

对于最后一个问题,如果您被迫使用PHP (大约):不是,但是。您将需要服务器端了解用户及其权限的内容,决定允许谁查看或更改数据,但不一定要使用PHP。web应用程序的常用服务器端语言可能是Node.js、PHP和Python,但您绝不局限于它们。

票数 2
EN

Stack Overflow用户

发布于 2018-11-15 10:57:33

如果登录成功,可以为当前用户设置会话变量。会话是服务器端的,因此劫持会话密钥要困难得多。

此外,您还可以设置时间戳,并检查用户最后一次页面刷新是在每次页面加载时发生的。如果他没有刷新页面的X时间,您可以取消设置会话变量并注销用户。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53317312

复制
相关文章

相似问题

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