引入

腾讯留的头像接口有很多,大部分都是需要传入QQ参数,例如:
https://q.qlogo.cn/headimg_dl?dst_uin=1804655669&spec=0
这个接口,需要跟QQ参数才能显示QQ头像,这样会暴露用户隐私

QQ图片20220501204403.png

那么为了安全和隐私,我们需要隐藏这些,腾讯也留了几个不会暴露QQ的接口
比如https://ptlogin2.qq.com/getface?&imgtype=1&uin=1804655669 会返回json数据,后面即为QQ头像直链

QQ图片20220501205025.png

Echo的修改方法

修改地址usr/themes/Echo/functions.php 大概在第85行

    // 解析头像
function getAvatar($mail)
{
    $a='https://gravatar.echo.so/avatar/';//gravatar头像源
    $mail = strtolower(trim($mail));
    $qq = str_replace('@qq.com', '', $mail);
    if (strstr($mail, "qq.com") && is_numeric($qq) && strlen($qq) < 11 && strlen($qq) > 4) {
        $geturl = 'http://ptlogin2.qq.com/getface?&imgtype=1&uin='.$qq;
        $qq = file_get_contents($geturl);
    $str1 = explode('sdk&k=', $qq);
        $str2 = explode('&t=', $str1[1]);
        $k = $str2[0];
    $url = 'https://q1.qlogo.cn/g?b=qq&k='.$k.'&s=100';
    
    } else {
        $url = $gravatar . md5($mail) . '?s=40&r=G&d=';
    }
    return $url;
}

handsome的修改方法(版本为8.4.1,其他未知)

修改地址 usr/themes/handsome/libs/Utils.php大概356到372行替换为一下内容

public static function getAvator($email, $size)
{
    $options = mget();
    $cdnUrl = $options->CDNURL;
    if (@ in_array('emailToQQ', Utils::checkArray($options->featuresetup))) {
        $str = explode('@', $email);
        if (@$str[1] == 'qq.com' && @ctype_digit($str[0]) && @strlen($str[0]) >= 5
            && @strlen($str[0]) <= 11) {
            $geturl = 'http://ptlogin2.qq.com/getface?&imgtype=1&uin='.$str[0];
            $qq = file_get_contents($geturl);
            $str1 = explode('sdk&k=', $qq);
            $str2 = explode('&t=', $str1[1]);
            $k = $str2[0];
            $avatorSrc = 'https://q1.qlogo.cn/g?b=qq&k='.$k.'&s=100';
            //$avatorSrc = 'https://q2.qlogo.cn/g?b=qq&nk=' . $str[0] . '&s=100';
        } else {
            $avatorSrc = Utils::getGravator($email, $cdnUrl, $size);
        }
    } else {
        $avatorSrc = Utils::getGravator($email, $cdnUrl, $size);
    }
    return $avatorSrc;
}

刷新 f12查看,成功。

QQ图片20220501211215.png

到此结束QWQ

最后修改:2022 年 05 月 09 日
如果觉得我的文章对你有用,请随意赞赏