【发布时间】:2013-03-28 06:13:02
【问题描述】:
我没有技术背景,所以我假设对此有一个简单的答案:
为什么 Gravatar 要求您在向他们的系统发送请求之前创建电子邮件地址的哈希值?是否有技术(或社会)理由不只使用电子邮件地址?
【问题讨论】:
我没有技术背景,所以我假设对此有一个简单的答案:
为什么 Gravatar 要求您在向他们的系统发送请求之前创建电子邮件地址的哈希值?是否有技术(或社会)理由不只使用电子邮件地址?
【问题讨论】:
这是为了防止电子邮件地址被泄露。如果在头像 URL 中使用了原始电子邮件地址,那么垃圾邮件发送者通过使用 Gravatar 抓取任何论坛的 HTML/DOM 来获取这些电子邮件地址用于其邪恶目的将是一项简单的任务。
【讨论】:
有两个原因。
原因 1:
当你调用 gravatar 时,url 是这样的:
https://www.gravatar.com/avatar/37dj383ks?params=blah
这意味着,例如,在博客或互联网论坛上,作为访客或登录用户阅读使用 gravatar 图像的 cmets,html 源代码如下所示:
<img src='https://www.gravatar.com/avatar/37dj383ks?params=blah'>
如果它们没有经过哈希处理,您网站的 public HTML 源代码将如下所示:
<img src='https://www.gravatar.com/avatar/ bob_smith@example.com ?params=blah'>
<img src='https://www.gravatar.com/avatar/ susan_suzanna@example.com ?params=blah'>
<img src='https://www.gravatar.com/avatar/ jason123@example.com ?params=blah'>
<img src='https://www.gravatar.com/avatar/ francisbakery@example.com ?params=blah'>
任何使用 gravatar 的网站都会自动泄露公开他们自己用户的每一个电子邮件地址。
原因 2:
第二个原因是,任何使用 gravatar 的网站都会自动泄露gravatar用户的电子邮件地址。
如果我在一个网站上注册,例如 Stack Overflow,并且我将我的电子邮件地址提供给 Stack Overflow,我不希望 Stack Overflow 将我的个人电子邮件地址发送给 Gravatar 等其他公司。
但是,如果我已经给 Gravatar 提供了我的电子邮件地址并设置了个人资料图片,那么我的电子邮件哈希值就是 Gravatar 和 Stack Overflow 都知道的共享哈希值。 Stack Overflow 不必信任 Gravatar。 Gravatar 不必信任 Stack Overflow。但是通过简单地提供电子邮件的单向哈希,两者都不必实际分发任何用户的敏感信息。
【讨论】: