- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想通过一个没有登录的移动应用程序(react-native)安全地访问 REST API(.net),但是当应用程序第一次打开时,在后台创建一个具有唯一 ID 的用户。
客户端应用程序 - 可以用一些 UID 来识别。
后端服务 - 客户端应用程序需要调用它来检索一些列表。
保护此后端服务的最佳做法是什么?我不想通过登录名/密码进行保护(因为不应该要求客户端“登录”以检索列表),但是,我不希望任何人轻易调用此后端 API 并为自己检索这些列表目的。
规范:该应用程序没有登录。那么我如何才能获得首次使用的 token 并使 API 安全。
REST API:使用用户名和密码保护 rest API。
移动应用程序:在每次调用 rest API 时发送用户名和密码。
缺点:在逆向工程中获取存储在移动应用程序中的用户名和密码。代码被混淆,密码被存储在一些地方,但黑客经过一定的努力成功获取了密码。
由于该应用没有登录名并且无法通过 HTTP 发送凭据以获取 token ,因此我如何向 REST-API 发送安全调用?
最佳答案
您无法避免人们进行逆向工程并获取您的 API key (或硬编码的用户/密码组合)。你可以让它变得更难,例如通过在与你的服务器通信期间强制使用证书固定的 HTTPS 或应用基于 IP 的 API 速率限制,这样人们就不能轻易地监视通信或转储你的 API 返回的任何内容,但你不能这不可能。期望人们始终拥有与您的应用程序(在他们的设备上)相同的特权。在您的情况下,这意味着攻击者还可以生成无限的 UID,因为它们是由客户端请求生成的。这使得使用 UID 进行任何类型的严肃身份验证都毫无用处。
我的意思是,毕竟,攻击者也可以编写代码来自动使用您的应用程序来提取您试图保护的信息,即使他无法反汇编您的应用程序也是如此。您所要求的是不可能的。
关于rest - 保护移动应用程序无需登录即可访问的 REST-API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55002432/
这实际上是我问的问题的一部分here ,该问题没有得到答复,最终被标记为重复。 问题:我只需使用 @Autowired 注释即可使用 JavaMailSender。我没有通过任何配置类公开它。 @Co
我是一名优秀的程序员,十分优秀!