wordpress禁止或去掉rel=”pingback”六种方法

WordPress禁止或去掉rel=”pingback”六种方法

Rel=”pingback”是WordPress自带的XML-RPC协议,用于通知其他站点你的文章被链接到了。然而,一些站长认为这种协议容易引发DDoS攻击,因此想要禁止或去掉rel=”pingback”。以下是六种方法:

方法一:禁用WordPress XML-RPC功能

这是最简单的方法。打开WordPress仪表盘,进入设置>写作,然后取消勾选”允许远程发布”选项就行了。


add_filter( 'xmlrpc_enabled', '__return_false' );

方法二:禁用WordPress头部的link元素

该方法用于去掉头部的link元素,包括你的网站和其他站点之间的链接。打开主题的functions.php文件,添加以下代码:


remove_action( 'wp_head', 'rsd_link' );
remove_action( 'wp_head', 'wlwmanifest_link' );
remove_action( 'wp_head', 'wp_shortlink_wp_head' );
remove_action( 'wp_head', 'wp_oembed_add_discovery_links' );
remove_action( 'wp_head', 'wp_resource_hints', 2 );

方法三:禁用WordPress REST API功能

REST API是WordPress的一项API,可用于向WordPress发送请求和接收数据。如果你不需要这种功能,可以禁用它。打开主题的functions.php文件,添加以下代码:


add_filter( 'rest_enabled', '__return_false' );
add_filter( 'rest_jsonp_enabled', '__return_false' );
remove_action( 'wp_head', 'rest_output_link_wp_head', 10 );
remove_action( 'wp_head', 'wp_oembed_add_discovery_links' );
remove_action( 'rest_api_init', 'wp_oembed_register_route' );
remove_filter( 'oembed_dataparse', 'wp_filter_oembed_result', 10 );
remove_action( 'wp_head', 'wp_oembed_add_discovery_links' );

方法四:禁用WordPress XML-RPC pingback

可以通过.htaccess文件禁用XML-RPC pingback。打开.htaccess文件,添加以下代码:


#禁用XML-RPC pingback

  Order allow,deny
  Deny from all

方法五:禁用WordPress XML-RPC功能和pingback

如果你想要彻底禁用XML-RPC功能和pingback,可以在.htaccess文件中添加以下代码:


#禁用所有XML-RPC请求

  Order allow,deny
  Deny from all


#禁用pingbacks和trackbacks
RewriteEngine On
RewriteCond %{REQUEST_METHOD} ^(TRACE|DELETE|TRACK) [NC]
RewriteRule .* - [F]
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{REQUEST_URI} !^/wp-admin.*$ [NC]
RewriteCond %{HTTP_REFERER} ^(https?://.*)(wp-admin/|wp-login.php) [NC]
RewriteRule .* - [F]

方法六:禁用WordPress XML-RPC pingback并添加防火墙规则

该方法需要使用防火墙规则,需要通过SSH访问主机。首先,修改.htaccess文件:


#禁用XML-RPC pingback

  Order allow,deny
  Deny from all

然后,使用iptable添加规则:


#允许HTTP和HTTPS流量
sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 443 -j ACCEPT

#允许loopback流量
sudo iptables -A INPUT -i lo -j ACCEPT

#允许ping
sudo iptables -A INPUT -p icmp --icmp-type echo-request -j ACCEPT
sudo iptables -A OUTPUT -p icmp --icmp-type echo-reply -j ACCEPT

#禁止所有其他流量
sudo iptables -P INPUT DROP
sudo iptables -P FORWARD DROP
sudo iptables -P OUTPUT DROP

#允许pingback和XMLRPC
sudo iptables -A INPUT -s 0.0.0.0/0 -p tcp --dport 80 -m string --string "xmlrpc.php" --algo bm -j ACCEPT
sudo iptables -A INPUT -s 0.0.0.0/0 -p tcp --dport 80 -m string --string "pingback.ping" --algo bm -j ACCEPT

以上就是六种方法,可以根据自己的需求选择其中一种实现禁止或去掉rel=”pingback”。

晓白博客网版权所有,原文地址https://www.xbnb.cn/5173
© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享
评论 抢沙发

请登录后发表评论

    请登录后查看评论内容