从其他网络应用中保护API

问题描述 投票:0回答:1

我有一个带有flask api的react web应用程序(我以前用的是express)。这个应用的产品是它所显示的数据。我不希望其他人能够轻易地从调用api中获取这些数据。

我想保护api的安全,使它只能被我的react应用访问,而不能被其他任何人访问。我怎样才能做到这一点?

reactjs express security flask web-applications
1个回答
1
投票

首先,如果你的客户端代码和API服务器运行在不同的域或端口上,请配置好 CORS 的API服务器上,只尊重来自客户端代码域的请求。 其次,对合法用户进行身份验证,以便只尊重对数据的授权请求。 有很多第三方库可以帮助认证。


2
投票

真正保证你的API安全的唯一方法是用Oauth2这样的东西来验证你的应用的用户,并在服务器端用护照这样的东西来验证这个凭证,并让授权随着会话而失效。并且使用SSL,这样这些都不容易通过协议分析器看到。

当然,你可以在应用中硬编码某种 "秘钥",但任何想要它的人都会从你的应用中读取它,或者通过数据包记录器嗅探数据包,直到他们找到秘钥。

编辑:哦,作为登录时授权的一部分,为他们提供一个唯一生成的 "API-KEY "作为身份的一部分,这样你就可以在提交时验证他们,如果他们违反了你的信任,就在服务器中标记他们的API密钥无效,这样他们就不能再使用他们了。

© www.soinside.com 2019 - 2024. All rights reserved.