问题标签 [rest-security]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
security - 检查散列的 REST API 令牌
我通过检查 Authorization 标头中的令牌来授权所有 REST API 请求:
令牌是纯文本,使用 HTTPS。但是,令牌在数据库中被加盐和散列。
我如何验证请求?
- 还将用户 ID 发送到服务器,从数据库中为该用户选择令牌哈希,检查令牌是否正确(发送用户 ID 的问题 - 放置位置)
- 检查数据库中的某些哈希是否对应于从用户收到的令牌(性能问题)
必须有一些优雅的方式,因为例如对于谷歌地图,“API 密钥”(令牌)就足够了。
cordova - Couchbase 服务器的访问安全
我是 Couchbase 的新手,我找不到任何关于我的问题的来源。
我打算使用 Cordova(Phonegap) 开发一个移动应用程序。而且我认为 Couchbase 作为数据库是一个很好的解决方案。但我有一个关于安全的问题。
如果我使用 Couchbase Lite PhoneGap 插件,我的服务器 IP 会出现在我的“Sync-Gateway-config.json”文件中。因此,人们可以使用 REST API 来访问由他们的渠道提供的所有数据。他们不能吗?
例如,用户通过这些代码获取自己的数据 ViewQuery.from('users', 'by_name').key("aUserName"); . 如果有人读取这些代码并获取服务器地址、设计和存储桶名称,那么他/她可以获取所有用户记录。
我怎样才能防止这种情况?
web-services - 在 Web 服务 URL 中使用加密的数据库 ID 而不是 UUID 是个好主意吗?
美好的一天,我已经实现了一个 REST 服务。在资源端点的 URL 中,我使用 ID,它们是数据库表的主键。例如http://host/myapp/items/item/4
. 我了解到在 URL 中使用数据库 ID 是一种不好的做法,我应该改用 UUID。另一方面,我了解到,如果数据库中有很多记录,那么在索引中使用 UUID 是一个性能问题,因为它们不是连续的(1、2、3、...)。所以我有一个想法来加密数据库ID。这就是它的工作方式:
接着:
这种解决方案有什么缺点?加密/解密是否会足够快,以至于不会比使用 UUID 更糟?我应该使用什么加密算法才能快速且不消耗太多资源?更有经验的人可以建议或推荐更好的解决方案吗?先感谢您。沃杰科技
android - 安全的 REST 服务只能由特定的 android 应用程序使用
我的服务器公开了许多 REST 服务,我希望保护 Web 服务,使其只能由我拥有的 android 应用程序使用。
基本上客户端(android 应用程序)和服务器都是由我开发的;我只需要向我的 android 应用程序公开 REST 服务。
我想到了多种保护 REST 服务的方法,例如
- 使用基于用户名/密码的身份验证
- 智威汤逊令牌
- 基于签名的验证
- 等等
在所有情况下,android 应用程序都应将密码存储在应用程序中;在这种情况下,黑客可以轻松反编译应用程序并获取密码。
如何保护只能由 android 应用程序访问的 REST?
编辑:客户端应用程序不需要用户的任何身份验证
java - 验证来自签名 jar 的 http 请求
我正在为我的 web 应用程序编写客户端,并且我用我的开发人员证书签署了发布 jar,我如何验证休息服务的请求来自我签署的 jar?
c# - 黑客能否超越来自桌面应用程序的互联网 http 休息调用?
我用 C# 制作了一个桌面软件,我将免费试用该软件 30 天,现在我将检查某些服务器的日期和时间以检查日期......我的问题是,黑客可以破解这个并制作某种密钥或步骤以使其成为完整版或在市场上为每个人制作一些破解版(我知道黑客可以破解任何产品)???
android - 如何通过查询身份验证保护 REST API
我有一个由 asp.net webservice 创建的 rest API,我有一个调用 api 并向用户显示一些数据的 android 和 IOS 应用程序。
我需要以一种只有我的应用程序可以通过 api 访问数据并且其他请求被拒绝的方式来保护我的 API。
我应该提一下,我的应用程序不是用户群,所以没有登录和身份验证,我不想强制用户登录!!!
根据我的搜索,我需要查询身份验证(查询参数)来实现这一点。
我需要的是如何创建这种查询参数以及如何验证它们?(性能对我来说太重要了)
提前致谢
security - JWT(Json Web 令牌)与自定义令牌
我正在查看问题,但没有找到任何可以解决我疑问的东西。我发现了有关 JWT 的大量信息,但在比较 JWT 相对于生成自定义令牌与针对 REST 服务的身份验证请求所提供的优势时,并没有太多信息。
与生成自定义生成令牌相比,使用 JWT(Json Web 令牌)有什么优势?要生成自定义令牌,我可以使用一些散列策略或一些唯一的随机数生成器。
如果我生成自定义令牌,我会有任何安全问题吗?您会建议使用任何其他身份验证机制吗?
谢谢!
rest - 保护防火墙后面的内部 Restful 服务
我们有几个非常重要的内部 RESTful 服务位于防火墙后面。我想知道只有防火墙是否会保护我们的服务?
我想尽可能多地学习,以便我们做出正确的决定来保护我们的数据。
可能会添加 SSL 和 HMAC 或 OAuth 是需要考虑的几个选项,但是我不是该领域的专家,任何输入都值得赞赏。
rest - 通过用户名和密码查询 Restful API
我正在为我的用户构建一个 Restful API。
我有这些:
1. GET -> Users/{id} 这是通过 Id 获取
2. POST -> Users/{DTO} 这是添加
3. PATCH/PUT -> Users/{DTO} 这是为了更新信息
4. DELETE -> Users/{id} 删除
5. DELETE -> Users/{username}/reset_pass 重置密码
6. POST -> Users/?username={userName}&password={password}
所以我对5号和6号(特别是6号)有点不确定。
我想知道您对此有何看法?在正文的查询字符串中发送我的用户密码。
我认为优步使用了我用于重置密码的模式。你怎么看?
谢谢