php - REST API 是否在每次请求时都需要密码和登录?

标签 php api rest

假设我开发了一个社交网站,并且我决定我希望应用程序的核心是完全 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/

相关文章:

javascript - 使用 express.router() 使用 api key 向第三方 API 发出获取请求;

c# - 我无法创建清晰的图片,为什么以及何时使用 RESTful 服务?

java - Spring 400 错误请求错误

php - 如何使用 $variable 作为定义常量的名称来访问 php 定义的常量

c# - 重构WCF服务

javascript - 如何刷新DIV而不是页面?

api - 使用 VersionOne 的 RESTful API 重新排列故事

java - 从java中的RestController返回多种(xml和json)格式

php - 将 URL 分成几部分并找到 ID(最长的部分)

javascript - 当我添加新数组时, "A"不断添加到多维数组的开头。知道是什么原因造成的吗?