c# - SignalR - 如何保护客户端以确保用户不会创建自己的客户端
问题描述
我目前正在开发一些基于 rest api/signalr (C#/.Net Core) 的应用程序后端。两种协议都是开放的 - 我如何确保后端仅与授权的应用程序一起使用并阻止创建未经授权的客户端的可能性?
解决方案
这取决于您希望锁定对后端的访问的严重程度。但一般来说,解决信任问题并不便宜。
- 调查 SSL Pinning 和 Certificate Transparency 之类的东西,这是一个好的开始,但并非万无一失
- 接下来查看一个 API 管理网关 (APIM),它可以放在 API 的前面来管理访问。这通常通过给客户一个访问令牌来工作。但是这个令牌可能会被泄露。更好的方法是通过由用户特定访问令牌控制的网关访问 API。但这并不总是实用的。
- 如果这不满足您的访问控制要求,则需要添加一个 Web 应用程序防火墙(有时称为 WAF),它可以监控、过滤和阻止不需要的流量
无论您采取何种方法,通常您想锁定多少都取决于您需要投资多少。
推荐阅读
- javascript - 纯 html 文件和 vanilla js 中的 CORS 错误
- makefile - 使用 Makefile 将 postcript 文件转换为 PDF 并保持更新?
- python - 如何将您已安装的 CPLEx 学术计划与 python 连接起来?
- performance - 在 xamarin 中制作富文本编辑器时的性能问题
- lmdb - 如果写入器不断更新,LMDB 读取器是否可以获得数据库的最新视图?
- qt - 如何在 QT 中正确使用 tinyxml 的 next()?我的项目可以调试但不能发布
- python - 如何为 RNN 输入多个时间序列数据(波形)
- iis - 启动 IIS Express localhost (500.19) 时出现 500 错误
- c# - 当我尝试离线安装 nuget 包文件时,Visual Studio 2019 出现错误
- bazel - javadoc 的 Bazel 规则无法传递输入源