javascript - 处理前端登录的安全方法

标签 javascript php frontend

关于如何保护登录页面 (Web),我想到了几个问题。

当我构建一个演示应用程序时,例如使用 VueJS 的 Web 应用程序,或者使用 HTML/JS 构建一个真正空白的应用程序时,我认为登录页面可以永远安全吗?或者我错过了什么。

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

现在回答问题: 如果登录真的有效,有没有办法呈现新 View ?因为我可以只查看 Javascript 文件更改响应或填写我自己的响应,并且显示的行为应该只在登录成功时显示。

我是被迫让 PHP 这样做,还是有相同的结果?我错过了什么吗? 感谢您的回答! 我希望你明白我的意思。

最佳答案

我假设我们处于典型的单页应用程序/Web 应用程序上下文中,具有分离的前端和后端 (api) 项目,通过(异步)HTTP 请求进行通信:

在这种情况下:是的,这将是安全的,因为您的前端首先不包含任何 protected 数据。服务器负责仅发送允许客户端拥有的数据。

在这种情况下,服务器对您的登录的具体响应并不重要。它可以是一个成功的 JSON 和一个 token 或当前用户对象和一个 cookie。重要的是你的前端现在知道服务器给它的 secret 。前端现在可以愉快地切换到另一个 View (请记住, View 最初不附带任何数据)并请求它想要显示的一些 protected 数据以及接收到的 secret 。

如果您欺骗前端认为您已登录,请求现在将失败(因为您从未从服务器获得 secret )并且您将坐在那里,盯着空白的 UI 和可能的错误消息.

关于您的最后一个问题,如果您被迫使用 PHP(或如此):否,但可以。您将需要在您的服务器端了解您的用户和他们的权限,决定允许谁查看或更改数据的东西,但不一定是 PHP。 Web 应用程序的常见服务器端语言是 Node.js、PHP 和 Python,但您绝不仅限于这些语言。

关于javascript - 处理前端登录的安全方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53317312/

相关文章:

即使有响应,PHP SoapClient 也返回 null

CSS - 如何使用模块化缩放字体大小

JSON仅在后端和前端之间

javascript - 组合 Observables - 等待所有 observables 触发

javascript - 是否可以随表单提交一起提交 JavaScript 数组?

javascript - 切换一次更改 2 个 DIV 宽度 + localStorage

PHP 结构 - 接口(interface)和 stdClass 变量

javascript - JQuery $(window).resize() 函数无法正常工作

php - 应用 Magento SUPEE 6285 后拒绝访问

css - 什么是 css 技术 Material 设计精简版(谷歌)实现的名称?