隐私优先的 Gravatar 替代品,为 Toolbelt WordPress 插件发布了 Pixel Avatars 模块

Ben Gillbanks 决定将一个旧想法付诸实践.几周前,在关于 WordPress 中的 Gravatar 隐私问题和本地头像的讨论重新点燃后,他开始着手构建 Pixel Avatars,这是一种无需连接第三方服务的生成头像解决方案.

Gravatar 解决了一个大问题.它创建了一个全局化身,以便用户只需将图像上传到一个站点并随身携带它在网络上传播.要使用该服务,网站必须将电子邮件地址传回 Automattic 旗下的 Gravatar.com,例如当访问者发表评论时.典型的本地头像解决方案会受到影响,因为它强制用户注册并上传该特定站点的图像.这两种选择都不是每个网站所有者的理想选择.而且,根据加载的头像数量,这两个选项都会显着增加页面加载速度.

这就是像素化身发挥作用的地方.该脚本具有本地化身的所有隐私优势,同时保持轻量级.

“最初,我只是喜欢制作可以在互联网上跟随您的动态图像的想法,”吉尔班克斯说.“我什至没有考虑过使用 Gravatar 对隐私的影响 —尽管事后看来它们是显而易见的.”

他将 Pixel Avatars 作为模块在 Toolbelt 中发布,Toolbelt 是他于 2019 年推出的 WordPress 插件.该插件是 Jetpack 的一个注重隐私的替代品,Jetpack 是另一个依赖于连接到第三方服务器的 Automattic 项目.

“过去几年让很多人更加关注在线隐私,所以我希望我构建的所有东西都将隐私放在首位,”他说.

在 WP Tavern 报道之前,Gillbanks 并没有过多考虑 Gravatar 与本地化身的讨论.很高兴看到我们至少对一些创新想法负责.

“公认使用 Gravatar 是您向 WordPress 网站添加头像的方式,”他说.“然而,Gravatar 归 Automattic 所有,它有可能让他们生成大量关于人们浏览哪些网站(评论)以及网站受欢迎程度的数据.我没有理由在这里怀疑.我怀疑它是否被以这种方式使用,但潜力是存在的,我们无法知道它是否被用于数据收集.”

他进一步解释说,他认为 Gravatar 作为可选插件会更好."即使是捆绑的插件也比默认打开要好,"他说.“在我看来,默认应该是本地化身,后备类似于我为非注册用户所做的(或只是一个空白图像).我已经向核心隐私团队提供了我的代码——我的插件是 GPL 并且代码在 Github 上,所以如果他们愿意,欢迎使用它.”

像素头像功能的工作原理

像素头像完全是站点本地的.该代码使用 5kb 的 JavaScript(平均小于单个头像图像)生成像素化头像.对于每个用户,插件使用他们的电子邮件地址创建一个哈希字符串.这种方法还可以确保头像无论使用哪个网站都是一致的.

这比传统头像系统快得多的原因之一是生成了头像.它们不是必须加载的图像,这在加载包含 100 条评论的博客文章时尤其成问题,每个评论都有自己的头像.

“如果您使用外部或本地头像,那么您仍然需要加载额外的图像文件,无论您的内容交付系统(服务器、CDN、第三方头像服务等)有多好,这都意味着更多数据传输,因此页面加载速度比我的 Javascript 系统慢,”吉尔班克斯说.

从技术角度来说,脚本比较简单.它使核心 WordPress get_avatar() 函数短路,并返回一个 HTML canvas 元素,该元素具有唯一的数据属性,其中包含用户电子邮件地址的哈希值.加载页面后,JavaScript 代码会为每个画布生成唯一的图像.

“由于我过滤了一个核心函数,所以这将在使用该函数的任何地方都有效,”吉尔班克斯说.“管理中的评论,管理栏中的小头像,以及任何其他使用get_avatar()功能的页面或块.不仅仅是为了评论.”

一些网站所有者可能希望使用 Toolbelt 来处理访客评论者的头像,同时为登录用户提供本地头像.这个系统可能是两全其美的—为拥有它们的人提供本地化身,并且不会将站点访问者的任何数据发送到第三方站点.Gillbanks 已经针对 10up 的 Simple Local Avatars 插件进行了测试,但它应该可以与其他本地头像插件配合使用.

6

发表回复