简单地说,我有一个React-App(我是这个领域的新手,据我所知,从React应用程序发送的所有请求都可以在浏览器的网络选项卡中看到)。他们没有提供可以从浏览器隐藏的服务器端请求。
我必须为这个应用程序实现一个身份验证机制。但是,我有几个关于方法的问题。
1.因为所有的请求都是可见的。我的generate-token请求如何安全?任何人都可以检查并获取我的令牌生成参数。
1.一旦令牌生成,它应该被后续请求使用,那么任何人都不可能得到我的令牌。
如何使其安全?
我认为不可能屏蔽/隐藏任何参数或令牌。唯一的方法是确保它安全。
身份验证应该是基于用户登录的,带有IP/User-Agent和更多的参数。这样,当我们识别出不应该拥有令牌的其他人正在使用令牌时,他应该得到未经授权的响应。
1条答案
按热度按时间qgelzfjb1#
Token
令牌存储在浏览器的本地存储中,对于MOST用例是安全的。你可以在这个StackOverflow post中阅读更多
文章摘要:如果站点易受Cross Site Scripting (XSS) attacks攻击,则本地存储可能不安全,但有一些方法可以防止站点上的XSS。
本地存储的替代方案是使用服务器端会话或使用IndexDb。但是本地存储对于大多数情况来说是足够的和足够安全的。
请求
一般来说,真实的世界中的大多数请求都使用HTTPS。HTTPS中的S代表“安全”。HTTPS使用TLS(或SSL)来加密HTTP请求,即使有人拦截了请求,它也是加密的,他们会看到一堆随机字母。
因此,您的令牌是加密的,没有攻击者可以使用它。
了解有关HTTP与HTTPS的更多信息
通常,本地主机使用HTTP,因此请求不加密,但在真实的世界中,您将使用像https://customDomain.com/path-to-api-endpoint这样的域。
请注意此域如何使用HTTPS,以便对此域发出的任何请求都将被加密。
上面的代码行将使用HTTPS协议进行API调用。