3

我有一个网站,它使用 Amazon EC2 与 Django 和 Google App Engine 来实现其强大的图像 API 和图像服务基础设施。当用户上传图像时,浏览器会向我的 EC2 服务器发出 AJAX 请求以获取 Blobstore 上传 URL。我通过我的 Django 服务器获取这个,所以我可以检查用户是否经过身份验证,然后服务器需要从 App Engine 服务器获取 url。上传完成并在 App Engine 中处理后,我需要将上传信息发送回 django 服务器,以便构建所需的模型实例。我怎样才能做到这一点?我正在考虑使用 urllib,但我怎样才能保护它以确保这些 url 只能由我的服务器访问,而不是由网络用户访问?也许某种秘密密钥?

4

3 回答 3

2

除了 Https 调用(您应该将信息传输到 django )之外,您还可以使用 AES 加密(使用 Pycrypto/任何其他库)。它需要一个密钥来加密您的消息。

于 2012-08-14T20:26:40.997 回答
1

对于服务器到服务器的通信,传统的安全建议会建议在 Web 服务器级别对 URL 进行某种 IP 范围限制,以及任何默认安全措施。但是,由于您是从云提供商向另一个云提供商进行呼叫,因此您永久控制客户端和服务器 IP 地址的能力可能会减弱。

也就是说,我建议使用标准的用户名/密码身份验证机制和 HTTPS 来确保传输安全。一个基本的身份验证用户名/密码将是我的建议(https:\\username:password@appengine.com\)。此外,我会确保在特定时间窗口内根据一定数量的失败尝试强制执行锁定。这将阻止尝试暴力破解密码。

根据您在 App Engine 上使用的 Web 框架,可能已经支持我刚才提到的部分或全部内容。如果您使用有关您的架构的更多细节更新此问题或使用更多信息打开一个新问题,我们可以为您提供更准确的建议。

于 2012-08-14T21:13:12.620 回答
1

SDC提供从 AppEngine 到其他地方的专用网络的安全隧道——如果您在那里运行它,它可能是您的 EC2 实例。

于 2012-08-14T21:22:33.910 回答