我正在编写一个插件,以PPK加密非公开的评论数据,作为抵御黑客的第二道防线(我的一个网站最近遭到破坏,所以我受到了很大的鼓舞!)。为了实现这一点,我正在编写一个元评论值,其中包含每个评论的加密电子邮件/IP,一旦所有内容都经过测试,管理员将能够单击按钮并安全地将明文电子邮件/IP字段设置为空。
不幸的是,这意味着Gravatar将停止工作,因为这需要一个纯文本电子邮件字段。所以,我相信我可以在get_avatar
过滤器,但据我所知,我需要复制get_avatar()
可插拔功能。php。显然,这意味着对该功能的任何后续核心更新都必须手动修补到我的副本中,这相当不雅观。
或者,我是否遗漏了一些东西,可以提供MD5哈希并自动获得核心Gravatar功能中的所有其他优点?我确实喜欢WP,但dev文档在这方面有点偏狭:)
如果不可能,我可能会尝试询问核心团队是否会考虑添加新过滤器。我认为,希望只在有限的时间内存储个人数据的博客,如果仍然能够在更老的评论上使用Gravatar,那将是一种很好的方式。
最合适的回答,由SO网友:Ralf912 整理而成
来自Gravatar。com:
Gravatar上的所有URL都基于对电子邮件地址哈希值的使用(link)
您可以存储该电子邮件地址的md5哈希值,而不是在注释数据中存储电子邮件地址。电子邮件地址是加密的,您可以使用gravatars。使用过滤器add_filter( \'preprocess_comment\', \'email_to_md5\' )
修改电子邮件地址,以后不要将其置空。
function email_to_md5( $commentdata ){
if( ! empty( $commentdata[\'comment_author_email\'] ) )
$commentdata[\'comment_author_email\'] = md5( strtolower( $commentdata[\'comment_author_email\'] ) );
return $commentdata;
}