【发布时间】:2011-06-25 00:57:07
【问题描述】:
目标:网站 1 通过 http 请求发送网站 2 用户数据。
问题:确保网站 2 的数据来自网站 1,而不是某些黑客。
注意:我不会使用 HTTPS,我知道这会解决一个大问题,但目前 GAE 不支持您自己的域名的 SSL:http://code.google.com/appengine/kb/general.html#httpsapps
所以我通过在两个站点之间加密和发送数据取得了很大进展,另一个站点能够解密和读取数据。我在 Google App Engine/Python/Django-nonreal 上,这个页面是让 pycrypto 工作的绝佳资源:http://code.activestate.com/recipes/576980/Kn
所以我很乐意知道用户数据是加密的,并且您需要有密钥才能读取它,但是 Website2 怎么知道请求来自 Website1?是什么阻止了黑客再次发送完全相同的请求,并且 Website2 认为该黑客可以在 Website2 上做事?
例如,难道不能有人只监听 http 请求并记录通过线路发送的加密数据吗?然后黑客可以使用与 Website1 之前使用的相同的值来执行自己的请求,并且黑客可以对 Website2 执行与 Website1 相同的操作吗?本质上,黑客会告诉 Website2 他们是 Website1 的有效登录用户。
总体目标:向网站 2 告知仅来自网站 1 请求的用户数据。除非您的网站 1,否则黑客使用与网站 1 发送到网站 2 相同的加密数据的任何其他请求都不会起作用。
不确定我是否解释得足够好,或者它是否只是我没有的非常基本的理解,但感谢您的帮助。
【问题讨论】:
标签: authentication encryption encoding cross-domain http-authentication