gpt4 book ai didi

django - 在 POST 调用中将登录凭据作为数据参数传递给 REST API 是否存在安全问题?

转载 作者:行者123 更新时间:2023-12-02 07:12:05 25 4
gpt4 key购买 nike

我有一个 django Web 应用程序,其中包含使用 TastyPie 编写的 RESTful API。我想允许我的移动应用程序访问使用用户名和 api_keys 的 API,但一直很难知道将 api_key 返回到移动客户端的最佳方法是什么。

我正在关注此处提供的资源代码: How can I login to django using tastypie

我的问题是,这是否是在 POST 请求中将用户名和密码作为数据参数传递的安全方法。我应该没事吧?

以下是发布请求的示例:

POST to http://myapp.com/api/user/login with data { 'username' : 'me', 'password' : 'l33t' }.

最佳答案

虽然可以嗅探通过 POST 请求发送的数据,但这并不一定意味着您不应该使用它向 RESTful API 提交用户凭据。因此,直接回答您的问题:

  • 发布用户名和密码进行身份验证并不安全。它可以被嗅探。
  • 话虽如此,根据我的经验,以这种方式提交用户凭据是很常见的事情。一个好的做法是在用户通过身份验证后向用户返回记住 token (或者在您的情况下是 API key )。除了持续 session 之外,其优点是,如果某些恶意用户获得了 API key ,则可以轻松重置该 key ,而无需重置用户的用户名/密码(尽管无论如何这样做可能是个好主意)。当然,缺点是记住 token /API key 通常存储在不安全的地方,例如浏览器 cookies/错误地存储在某些 github 存储库的源中。

那么,POST 身份验证凭据是否可以防嗅探?你能做到吗/完成了吗,是的。当然,如果您需要更高的安全性,您可以看看 HTTPS 是否是适合您的解决方案。

关于django - 在 POST 调用中将登录凭据作为数据参数传递给 REST API 是否存在安全问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12613287/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com