2

我正在尝试保护我的 Django restful api。
我有两个客户:

  • 我的 Django 前端应用程序(我的服务器上的 Ajax 请求)
  • 使用 httplib 发出自己的请求的 python 应用程序

现在,我使用 HTTP 基本身份验证来允许客户端使用资源。管理 cookie 会话的身份验证方法上的基本用户名/密码。在生产中,我确保我的 API 只能通过 https 使用。

我尝试实现 HMAC 构造(因为我不想将密码放在网络上,但我必须在两端存储秘密)。这适用于我的其他 python 应用程序,但不适用于我的 Django 前端应用程序,因为任何用户都可以看到 javascript 代码。

我尝试实现其他身份验证方法,因为我不想真正维护会话状态(不是真正的 REST)。

curl -H "PERSONAL_SECRET_API_KEY: TokenKeyxxxxxxxxxx" https://localhost:8000/api/resource/

这是我的问题:

  • 基本认证系统的弱点是什么?
  • 还有其他适合我目的的方法吗?

谢谢

4

1 回答 1

0
  1. 在我看来,容易受到重复攻击是基本身份验证的最大弱点。
  2. 您是否考虑过公钥/私钥基础设施?客户端应用程序创建公钥/私钥对。公钥存储在服务器上。客户端应用程序使用私钥加密其请求,服务器可以使用客户端应用程序的公钥对其进行解密并以相同的方式发送响应。
于 2013-05-20T11:21:31.050 回答