- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我们如何防止公共(public) API 泄露主 API key /凭据和 secret token ?
我目前正在开发一个带有一些公共(public) API 的网络应用程序,它应该使用 API key 和 secret token ,并且正在寻找一种方法来创建一个非常安全的 API 并查看了一些最大平台的 API ,例如 SoundCloud。
我read some guides (如 https://github.com/interagent/http-api-design )关于好的( Restful )API 设计,但它们没有提供太多关于安全性(API key 和 token )以及如何在公共(public) API 中检索或创建它们的信息。
看看https://a-v2.sndcdn.com/assets/sc-q9dV-e79e4b4a.js并搜索 b45b1aa10f1ac2941910a7f0d10f8e28
这是 SoundCloud 的主 API key 。
他们的一些 URL 如下所示:
https://api.soundcloud.com/tracks/id/stream?client_id=client_id
https://api.soundcloud.com/tracks/id/stream?secret_token=secret_token&client_id=client_id
https://api.soundcloud.com/playlists/playlist_id/?secret_token=secret_token&client_id=client_id
我知道许多工具已经在使用这个 key 从 SoundCloud 用户那里获取/下载所有歌曲。
此外,他们所有的私有(private)和 secret 小部件也会在请求和源代码中显示 secret token 。它们被硬编码在嵌入代码的 JavaScript 代码中。
问题存在多年,开发人员似乎没有使用安全 API 的经验 http://tunelab.com/2011/08/04/this-is-the-problem-with-soundcloud/
此类使用 JavaScript 和 JSON 的 API 如何防止泄露这些 token 和凭据?
我对此的看法:
当我读到 SoundCloud 是最大的音乐社区并且大型音乐标签从新专辑或即将发行的专辑上传他们的歌曲时(即使是私有(private)歌曲并通过网站上的小部件发布它们, secret token 也会被泄露)似乎, SoundCloud 背后的团队不想保护他们的用户免受盗版/窃取歌曲的侵害,也不愿意创建安全的 API。
您如何看待 soundcloud.com 上的这种危急情况?JavaScript/JSON API 如何才能在不泄露任何关键数据(如 token 和 API key )的情况下以正确的方式更加安全/安全?例如使用 AJAX 并在网站加载后检索 API key 和 token ?Spotify 和其他流媒体平台如何保护他们流式传输的数据并获取 token 和 API key ?将这些信息存储在 URL 或请求 URL 中是否安全?
如何使用 JavaScript、HTML、AJAX 和 PHP 通过网络安全地将 API key 和 secret token 发送给我的用户?
最佳答案
how do I deliver the API keys and secret tokens securely over the wire to the users?
只有一种可靠的方法:为您的网站使用 HTTPs 以允许用户检索 key 。
然后在 API 调用期间不再需要 HTTPS。您的用户可以使用 HMAC authentication使用共享 key 散列 key 。
关于json - 我们如何通过网络安全地将 API key 和 secret token 交付给用户?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24589374/
在iOS开发中,保障应用的网络安全是一个非常重要的环节。以下是一些常见的网络安全措施及对应的示例代码: Swift版 1. 使用HTTPS 确保所有的网络请求使用HTTPS协议,以加密数据传输,
如何在 Java 中为椭圆曲线加密生成曲线点? 最佳答案 建议您考虑使用 bouncycastle java libary ,它支持椭圆曲线和 Java ME。在他们的 latest releases
关闭。这个问题是off-topic .它目前不接受答案。 想改善这个问题吗? Update the question所以它是 on-topic对于堆栈溢出。 11 年前关闭。 Improve this
因此,您总是会听到很多有关网站变得流行,然后遭到黑客攻击的故事。基本上,我将在几周内发布(作为唯一的程序员)一个网站。它是用 MVC2 制作的,将在 Azure 云上运行。 我只是想知道哪些类型的东西
我有一个登录页面 (welcome-page.jsp),它检查用户是否存在于数据库中。如果他提供的密码正确且类型正确,他将被重定向到一个页面。现在我想在发送数据时增加一些安全性。我是新来的...这是登
很难说出这里要问什么。这个问题模棱两可、含糊不清、不完整、过于宽泛或夸夸其谈,无法以目前的形式得到合理的回答。如需帮助澄清此问题以便重新打开,visit the help center . 关闭 1
我正在尝试通过具有多个源地址的 Terraform 为 Azure 中的网络安全组配置网络安全规则。 基于文档 https://www.terraform.io/docs/providers/azur
我正在开发一个从文本(TTS)生成音频并为用户提供速度/音高控制的播放器的项目。 我的问题与请求安全有关。 用户在我的网站注册时获得了 widget_id,他放了一些 js在他的网站上,而 api 在
我正在关注基于 spring 框架 3.2.4 的应用程序的本教程 http://springdiaries.blogspot.be/2012/12/web-security-preventing-c
我目前已经构建了一个系统来检查用户 IP、浏览器和随机字符串 cookie 以确定他是否是管理员。 在最坏的情况下,有人会窃取我的 cookie,使用与我相同的浏览器,并掩盖他的 IP 以显示为我的
TL;DR 通过网络策略来提升网络安全,可以极大降低了实现和维护的成本,同时对系统几乎没有影响。 尤其是基于 eBPF 技术的 Cilium,解决了内核扩展性不足的问题,从内核层面为工作负载
我允许用户从我的应用程序下载文件。为此,我根据文件类型明确将“Content-Disposition”设置为“内联”或“附件”。现在这有点手册。因此,对于 pdf 文件,我将其设置为“内联”,但对于
我有一个 MEAN 堆栈应用程序,带有类似 API 的 REST。我有两种用户类型:用户和管理员。为了让用户登录并保持 session ,我像这样使用 jsonwebtoken jwt(简化): co
我是一名优秀的程序员,十分优秀!