我使用django开发网站。在服务器端,我需要传输一些必须在第二台服务器上处理的数据(在另一台机器上)。然后我需要一种方法来检索处理过的数据。我认为最简单的方法是将一个POST请求发送回Django服务器,然后在专用于该作业的视图上处理。
但我想为此过程添加一些最低安全性:当我将数据传输到另一台机器时,我想加入一个随机生成的令牌。当我收到处理过的数据时,我希望也会返回相同的令牌,否则请求将被忽略。
我的问题如下:如何将生成的令牌存储在Django服务器上?
是否有第三种解决方案,或使用Django进行此类操作的规范方法?
答案 0 :(得分:1)
您可以将令牌存储在django缓存中,在大多数情况下,它可以更快地从数据库或磁盘存储。
另一种方法是使用redis。
您还可以计算您的令牌:
根据当前时间戳舍入为10秒计算令牌,例如使用:
token = hashlib.sha1(secret_token) token.update(STR(rounded_timestamp)) token = token.hexdigest()
答案 1 :(得分:1)
简单明显的解决方案是将令牌存储在数据库中。其他可能的解决方案是Redis或类似的东西。最后,您可以查看分布式异步任务队列,如Celery ...