【发布时间】:2012-04-17 22:53:27
【问题描述】:
我正在阅读 Web 服务的 API,所有方法都涉及发送 HTTP 请求到
https://example.com/api/APIVER/METHOD?apikey=APIKEY&user=USERNAME&password=PASSWORD
需要明确的是,API 密钥和用户密码都是通过 URL 以纯文本形式发送的。但这是否可以,因为“所有 HTTPS 流量都已加密”,还是因为它们仍然是纯文本或 URL 有所不同?
如果这不安全,API 维护者需要做的最小更改是多少?
【问题讨论】:
-
这个 API 的预期用途是什么?是服务器到服务器的调用吗?还是您打算从浏览器进行此调用?如果您从浏览器执行此操作,则不安全,但服务器到服务器很好。
-
它不是为浏览器设计的,但它可以被客户端应用程序(移动设备、桌面客户端等)使用
-
那么它不安全。任何人都可以下载该应用程序,监控网络连接并提取用户名/密码。只有当您的用户使用特定于用户的密码进行身份验证时,从客户端应用调用的 API 才能受到保护。
标签: security http rest https asp.net-web-api