标签 gravatar 下的文章

GravatarServer邮箱头像插件支持显示QQ加密头像地址

提供替换 Gravatar 服务器,支持 QQ 头像加密地址。 原作者 LT21 GravatarServer介绍多种Gravatar镜像替换Gravatar服务器地址,让评论头像显示无障碍支持qq邮箱显示qq头像qq头像地址加密,不暴漏用户qq号码仅限使用typecho输出头像语法的模板,部分魔改主题模板使用不会有效果。[btn url="https://github.com/kraity/GravatarServer"]下载插件[/btn] [btn url="https://krait.cn/major/1908.html"]作者原文[/bt...

阅读文章
Typecho使用AJAX实时获取评论头像

前言刚才在隔壁看到《WordPress使用AJAX实时获取评论头像》,我就想typecho是不是也能实现这个功能呢!看了《WordPress使用AJAX实时获取评论头像》这个文章后,我理解到,它实际就是给模板内置了个api,通过ajax请求这个api来实时获取邮箱头像地址。懂了原理就简单了PHP部分此代码添加到主题functions.php文件function themeInit($archive) { if(isset($_GET['action']) == 'ajax_avatar_get' && 'GET' == $_SERVER['REQUEST_METHOD'] ) { $host = 'https://secure.gravatar.com/avatar/'; $email = strtolower( $_GET['email']); $hash = md5($email); $sjtx = 'mm'; $avatar = $host . $hash . '?d='.$sjtx; echo $avatar; die(); }else { return; } }如果你的模板已经添加过了themeInit,那么只要向themeInit内部添加if部分即可。JS部分此代码添加到主题js文件$("input#email").blur(function() { var _email = $(this).val(); if (_email != '') { $.ajax({ type: 'GET', data: { action: 'ajax_avatar_get', form: ajaxurl, // 修改为你的Ajax路径 email: _email }, success: function(data) { $('.avatar').attr('src', data); // 修改为你自己的头像标签 } }); // end ajax } return false; });代码中的input#email和.avatar需要根据自己的模板进行适当修改,代码中的ajaxurl可以直接写自己博客地址,或者当前文章地址也行,可以用js获取地址,也可以直接写死。后语其实除了php部分和WordPress稍有不同外,其他没什么不同,js部分直接抄自《WordPress使用AJAX实时获取评论头像...

阅读文章
获取QQ头像地址,并且不暴露QQ号

需求因为最近回归原生评论,所以评论头像如果单纯的引用gravatar头像,会有一部分low bee们头像会变成gravatar默认头像,为了解决这个问题,我想对于qq号@qq.com这样的邮箱地址就行个处理来提取QQ头像,然后问题是怎么获取QQ头像地址。尝试最初想到获取QQ头像地址就是下面这样https://q.qlogo.cn/g?b=qq&nk=腻的扣扣号&s=100当随之而来的问题就是暴露了别人的QQ号码,这点对于保护他人隐私上来说不太好。于是想到了这样的QQ头像地址https://q1.qlogo.cn/g?b=qq&k=0n5AZ9Ne4h3em8iboKu3sHg&s=100上面的地址,中没有QQ号,却获取了某人的qq头像,里面的重要参数就是K的值,那么如何获取K值呢?探索上各种搜索利器,百度30分钟无果,必应一下就找到了线索。访问下面的地址就能得到一个jsonhttp://ptlogin2.qq.com/getface?appid=101382166&imgtype=1&encrytype=0&devtype=0&keytpye=0&uin=扣扣号&r=0.17780657206333406简化下无用参数,变成http://ptlogin2.qq.com/getface?&imgtype=1&uin=扣扣号访问上述地址得到的jsonpt.setHeader({"扣扣号":"http:\/\/q3.qlogo.cn\/g?b=qq&k=对应的K值&s=40&t=1483323281"});解决知道怎么获取就好处理了,上全世界最好的语言php$qq = '你的扣扣号码'; $geturl = 'http://ptlogin2.qq.com/getface?&imgtype=1&uin='.$qq; $qquser = file_get_contents($geturl); $str1 = explode('&k=', $qquser); $str2 = explode('&s=', $str1[1]); $k = $str2[0]; $qqimg = 'https://q1.qlogo.cn/g?b=qq&k='.$k.'&s=100'; echo $qqimg由于我php渣,不会解析json,所以用了个简单粗暴的方法来获取想要的字符串。扩展typechotypecho函数,其实和上边的php没啥区别。function qqgravatar ($qq){ $geturl = 'http://ptlogin2.qq.com/getface?&imgtype=1&uin='.$qq; $qquser = file_get_contents($geturl); $str1 = explode('qq&k=', $qquser); $str2 = explode('&s=', $str1[1]); $k = $str2[0]; $qqimg = 'https://q1.qlogo.cn/g?b=qq&k='.$k.'&s=100'; return $qqimg; }需要提取qq头像地址时调用<?php echo qqgravatar('QQ号'); ?>最后Hran说影响效率,测试了下,有评论里有QQ头像的文章,加载确实慢了,所以,可能弃坑20170808规则稍有变动,文章已修正php部分...

阅读文章
1/1