教程
Typecho评论头像隐藏QQ号
1088

因为腾讯留的头像接口有很多,大部分都是需要传入QQ参数,例如:http//q.qlogo.cn/g?b=qq&nk=qq&s=100这个接口,需要跟QQ参数才能显示QQ头像,这样会暴露用户隐私
061701
那么为了安全和隐私,我们需要隐藏这些,腾讯也留了几个不会暴露QQ的接口
比如https://s.p.qq.com/pub/get_face?img_type=3&uin=QQ号会直接返回QQ头像
061702
还有一个QQ互联里面的一个接口
https://ptlogin2.qq.com/getface?appid=1&imgtype=1&uin= QQ号
相比上一个而言这个返回的是json数据,后面即为QQ头像直链
061703
那么我们只需要处理一下评论头像输出过程就好了,咱也用试了好几种方法,图片显示但就是图像不显示跳转后的链接,还是能留下参数信息,
就比如 <img class="uk-border-circle" src="https://s.p.qq.com/pub/get_face?img_type=3&uin=​1724417279" src不应该跳成这样么 src="http://thirdqq.qlogo.cn/g?b=sdk&k=33t19Vyq45B8tuI0llEa1w&s=100&t=1623673005"

烦死人,所以,我他妈直接问 柯少 要后台 !!!


修改过程

在主题的function.php中添加以下函数

function Authorimg($email){
    $a='gravatar.q6q.cc/avatar';//gravatar头像源
    $b=str_replace('@qq.com','',$email);
    if(stristr($email,'@qq.com')&&is_numeric($b)&&strlen($b)<11&&strlen($b)>4){
        $nk = 'https://s.p.qq.com/pub/get_face?img_type=3&uin='.$b;
        $c = get_headers($nk, true);
        $d = $c['Location'];
        $q = json_encode($d);
        $k = explode("&k=",$q)[1];
        echo 'https://q.qlogo.cn/g?b=qq&k='.$k.'&s=100';
    }else{
        $email= md5($email);
        echo 'https://'.$a.'/'.$email.'?';
    }
}

061704
然后在评论的位置的头像修改为<?php echo Authorimg($comments->mail); ?>
061705
刷新 f12查看,成功。
061706
可能你会发现,改完页面加载非常的卡, 开桑 也和我说了几种方法,但都有个请求函数或多或少都有点小卡,所以综合考虑下,我还是放弃吧 也没多大事,正经人谁看咱QQ,也说不定还有漂亮妹妹心疼giegie你,加你呢

简单修改一下

public static function getGravatar($email)
{
$b=str_replace('@qq.com','',$email);
if(stristr($email,'@qq.com')&&is_numeric($b)&&strlen($b)<11&&strlen($b)>4){
    $nk = 'https://s.p.qq.com/pub/get_face?img_type=3&uin='.$b;
    $c = get_headers($nk, true);
    $d = $c['Location'];
    $q = json_encode($d);
    $k = explode("&k=",$q)[1];
    $avatar =  'https://thirdqq.qlogo.cn/g?b=sdk&k='.$k.'&s=640';
}else{
    $email= md5($email);
    $avatar =  'https://gravatar.q6q.cc/avatar/'.$email;
}
return $avatar;
}

结语

感谢访问强仔博客,希望本文对你有所帮助!


  • 上一篇
  • 下一篇
  • 添加评论
    评论(8)
    叶开楗
    叶开楗

    我还以为你解决了, 过来看看。

    强仔
    叶开楗
    北枫
    北枫

    好东西,我已经在用了。

    小赵同学
    小赵同学

    虽然用不上,但还是来支持一下

    苏晓晴
    苏晓晴

    谢谢嗷 已经用上了 顺便改了改

    浅小沫
    浅小沫

    加个缓存就可以了。

    666
    welcome to qiangzai blog