假设我开发了一个社交网站,并且我决定我希望应用程序的核心是完全 REST 的。用户使用密码登录。现在,我的问题是每个请求是否都需要在 URL 末尾的密码和登录对(假设您需要提供您的身份),例如 www.site.com/index.php?p=pass&l=login
?在每次请求时我都会有点紧张。我知道我遗漏了什么……不可能是这样,因为任何人都可以窥探数据包并获取密码并轻松登录。我认为在 HTTPS 中完成所有请求没有意义(我读到它对资源征税)。
所以请填写我需要理解的缺失部分。
最佳答案
首先,除非您知道使用 SSL 对您来说太昂贵,否则请使用 SSL。安全先于性能优化。
现在,关于传递用户名和密码:通常您有一个“API 访问 token ”或类似的东西。它实际上不是用户名/密码,但当有人拥有它时,他们被授予发出 API 请求的能力。这些可以根据您的喜好具有有限或无限的有效性。您甚至可以使 token 成为签名 - 用户使用某个 key 签署请求,然后您验证签名。
但是,是的,由于每个 API 请求都独立于最后一个,因此您将不得不使用 HTTP 基本身份验证或其等效方法,或者在每个请求中传递 API token (或其他签名设备)。
关于php - REST API 是否在每次请求时都需要密码和登录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9050263/