WordPress 隐藏 head 里的 X-Pingback 头部信息

图片[1]-WordPress隐藏head头信息X-Pingback-本站

用 WordPress 建站,查看页面 head 常能看到一行 X-Pingback。它是什么?Pingback 是博客之间通知“文章被引用”的机制,网站发布文章时会自动 ping 文中的所有外链,对方站点就能记录谁链接了它。功能看着有用,但 XML-RPC 的 pingback 端口也常被拿来打反射攻击、探测站点,不少人选择直接关掉。

在 functions.php 里关闭

主题 functions.php 加下面这段,阻止站内互 ping,并把 XML-RPC 的 pingback 端口摘掉:

//关闭 pingback
function deel_setup(){
//阻止站内PingBack
    if( dopt('d_pingback_b') ){
        add_action('pre_ping','deel_noself_ping');
    }
}

//WordPress 关闭 XML-RPC 的 pingback 端口
add_filter( 'xmlrpc_methods', 'remove_xmlrpc_pingback_ping' );
function remove_xmlrpc_pingback_ping( $methods ) {
	unset( $methods['pingback.ping'] );
	return $methods;
}

全新站点到这里就结束了。但旧站有个坑。

旧站要动一次数据库

已发布文章的 ping_status 早就存进了数据库,代码加完 head 里的 x-pingback 照样在,得补一条 SQL,把指定日期之前文章的 ping_status 从 open 改成 closed:

UPDATE wp_posts SET ping_status = 'closed' WHERE post_date < '2021-02-02';

执行完清一遍缓存,再看文章 head,x-pingback 就消失了。这个细节很容易被忽略,进而怀疑代码没生效。

后台开关与提醒

最后到 WordPress 后台 – 设置 – 讨论,把“允许其他博客发送链接通知(pingback 和 trackback)到新文章”的勾去掉。head 里其他看不懂的代码别乱删,有些是订阅(RSS)等功能必需的,除非非常了解每一行的用途。

© 版权声明
THE END
喜欢就支持一下吧
点赞9 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容