解决 Typecho 后台头像被墙的问题
•折腾记录
888
2
找到var/Typecho/Common.php
大概800多行 替换面这一段代码。
if (defined('__TYPECHO_GRAVATAR_PREFIX__')) {
$url = __TYPECHO_GRAVATAR_PREFIX__;
} else {
$url = $isSecure ? 'https://secure.gravatar.com' : 'http://www.gravatar.com';
$url .= '/avatar/';
}
if (!empty($mail)) {
$url .= md5(strtolower(trim($mail)));
}
替换为
if (defined('__TYPECHO_GRAVATAR_PREFIX__')) {
$url = __TYPECHO_GRAVATAR_PREFIX__;
} else {
$url = $isSecure ? 'https://gravatar.loli.net' : 'http://gravatar.loli.net';
$url .= '/avatar/';
}
if (!empty($mail)) {
if(preg_match('|^[1-9]\d{4,10}@qq\.com$|i',$mail)){
$url = '//q.qlogo.cn/g?b=qq&nk=' . explode("@",$mail)[0]. '&s=160';
}else{
$url .= md5(strtolower(trim($mail)));
}
}
使用 gravatar + QQ头像的 方案。及QQ邮箱用户优先使用QQ头像,其余用户使用 gravatar 头像。
为 Typecho 集成
将以下代码加到站点根目录的 config.inc.php 中即可:
/**
* 替换Gravatar头像为Cravatar头像
*
* Cravatar是Gravatar在中国的完美替代方案,你可以在https://cravatar.cn更新你的头像
*/
define('__TYPECHO_GRAVATAR_PREFIX__', 'https://cravatar.cn/avatar/');
Cravatar 完美兼容所有 Gravatar 头像 API 接口,同时如果你未在 Cravatar 设置头像,则会先尝试调用 Gravatar 上的头像数据,其后是 QQ 头像,最后会返回我们为你准备的一组默认头像。
特别地:我们会对所有头像进行人工审核(也包括来自 Gravatar 和 QQ 的头像),所有包含暴恐、色情、政治等违反中国法律的内容都会被屏蔽,并返回默认头像。
有用