专业WORDPRESS主题设计制作

禁用 xmlrpc.php防止服务器被扫耗尽服务器资源(禁用apache服务器签名)

发布于: 2023-02-02

xmlrpc.php 存在于 WordPress 网站程序中,通过使用 HTTP 作为传输机制和 XML 作为编码机制来标准化这些通信来实现此目的。然而,xmlrpc.php 文件引入了安全漏洞,并且可能成为被攻击的目标。

最近网站大量 POST 请求 xmlrpc.php,导致 CPU 负载爆满,内存也比平时占用更多,感觉是被人扫描攻击了。所以这个涉及到了 WordPress 安全,必须重视起来。

XML-RPC 是支持 WordPress 与其他系统之间通信的规范。XML-RPC 不仅用于移动应用程序:它还用于允许 WordPress 和其他博客平台之间进行通信,还支持引用和 pingback。但是由于 REST API 已集成到 WordPress 核心中,因此 xmlrpc.php 文件不再用于此通信。

如果您的站点上启用了 XML-RPC,则黑客可能会利用 xmlrpc.php 在短时间内向您的站点发送大量 pingback,从而在您的站点上发起 DDoS 攻击。这可能会使服务器超载,并使站点无法正常运行。而每次 xmlrpc.php 发出请求时,它都会发送用户名和密码进行身份验证,所以,黑客可以使用它来尝试爆破您的站点。

 

在此基础上,我们 还发现了攻击//xmlrpc.php地址,来耗尽 WordPress 站点的服务器资源,所以更加推荐最后一种方法。

禁用 xmlrpc.php 方法

因此,您现在应该在站点上禁用 xmlrpc.php,但是很多人不知道该如何停用 xmlrpc.php 文件,虽然将其删除是最简单的方法,但是由于 WordPress 经常升级,又会重新生成该文件,所以在此基础上,WPEXP 跟大家分享五个禁用 xmlrpc.php 的方法,供大家选择使用。

一、使用插件禁用 xmlrpc.php

  • 插件名:Disable XML-RPC(By Philip Erb)
  • 插件地址 https://wordpress.org/plugins/disable-xml-rpc/

二、函数禁用 xmlrpc.php

在当前主题的 functions.php 文件添加下面这行代码就能关闭 xmlrpc.php

复制

//通过 functions.php 函数文件禁用 xmlrpc.php
add_filter('xmlrpc_enabled', '__return_false');

三、配置禁用

在 WordPress 根目录编辑 wp-config.php 文件,最开始的地方添加:

复制

if(strpos($_SERVER['REQUEST_URI'], 'xmlrpc.php') !== false){
    $protocol   = $_SERVER['SERVER_PROTOCOL'] ?? '';

    if(!in_array($protocol, ['HTTP/1.1', 'HTTP/2', 'HTTP/2.0', 'HTTP/3'], true)){
        $protocol   = 'HTTP/1.0';
    }

    header("$protocol 403 Forbidden", true, 403);
    die;
}

四、Nginx/Apache 禁用 xmlrpc.php

Nginx 规则

复制

禁用 xmlrpc.php防止服务器被扫耗尽服务器资源
location ~* ^/xmlrpc.php$ {
return 403;
}

Apache 规则

在 .htaccess 文件前面添加以下代码。

复制

<Files xmlrpc.php>
Order Allow,Deny
Deny from all
</Files>

五、云防火墙 CDN 禁止访问

这个的前提要求需要保护好自己的服务器 IP 不被发现,在此基础上可以在云防火墙或者 CDN 中写好阻止 xmlrpc.php 访问,比上述所有配置都要进一步降低服务器性能的消耗,因为它还没有请求你服务器就被拦截了。

这里以 CloudFlare WAF 防火墙为例,在添加/xmlrpc.php基础上,再添加一个//xmlrpc.php以防万一。怕大家看不懂,这里使用 URI 完整,小伙伴们可以考虑使用 URI 包含规则,填写一个/xmlrpc.php 即可。

 

 

退而求其次,如果你有使用宝塔的 Nginx 防火墙,那么也可以使用防火墙来阻止 xmlrpc.php 访问。但是这个毕竟还是会涉及服务器资源的占用,在能够做好 IP 不泄露的情况下,使用云端防火墙或 CDN 去阻止是最好的!

WordPress无法发送邮件?WP SMTP插件配置其他邮箱方法(wordpress忘记密码无法发送邮件)

发布于: 2022-11-03

1 如何安装和配置WP SMTP插件

 

在通过WordPress网站发送和接收电子邮件时遇到麻烦?

电子邮件发送错误是WordPress中的常见问题。默认情况下,WordPress使用PHP mail()函数发送电子邮件。

但是问题在于许多WordPress托管服务器未配置为使用此功能,这就是为什么你的许多电子邮件,可能最终都位于垃圾邮件文件夹中,或根本无法发送的原因。

做邮件营销首先最重要的,是成功发送邮件到收件箱。

好消息是,可以通过在网站上轻松安装WordPress插件,和配置SMTP服务器来轻松解决此问题。

在本文教程中,我们将教你如何设置和配置SMTP,并使通信过程更流畅。

现在,就让我们开始吧。

如何安装和配置WP SMTP插件?

你需要做的第一件事,是安装一个WordPress插件,例如:WP SMTP插件 ▼此进入WordPress官网 下载WP SMTP 插件

  • WP SMTP插件最初是由BoLiQuan创建的,它现在由Yehuda Hassine拥有和维护。

WP Mail SMTP插件可以通过改进和更改WordPress网站发送电子邮件的方式,来轻松解决电子邮件传递问题。 所以,让我们看看如何使用此插件。

我们将向你展示如何使用WP SMTP插件。

  • WP SMTP可以帮助我们通过SMTP而不是PHP mail()函数来发送电子邮件。
  • 它将设置页面添加到“仪表板” → “设置” → “ WP SMTP”,你可以在其中配置电子邮件设置。
  • 如果“发件人”字段不是有效的电子邮件地址,或“ SMTP主机”字段留为空白,则不会重新配置wp_mail()函数。

WP SMTP插件设置其他邮箱方法

不同邮箱设置SMTP服务器地址有所不同,需要根我们所使用的SMTP服务器地址设置。

通常在邮箱的帮助页面,能够找到SMTP服务器地址。

QQ邮箱和Gmail的SMTP地址设置方法,可点击下方链接参考以下教程 ▼

QQ邮箱未开启IMAP服务 如何设置POP3/SMTP地址?

新媒体人做网络推广,需要注册各种账号,验证电子邮箱地址。外贸业务员做网络营销,经常使用电子邮箱联系客户。电商人收集用户反馈和意见,也是要用到电子邮箱。然而,手机QQ邮箱却提示……

qqmail-not-open-imapGmail如何开启IMAP/POP3?设置Gmail邮箱服务器地址

Gmail是所有做外贸SEO、电商从业者、网络推广人员必备的工具。不过,在中国大陆境内Gmail已无法打开……解决方法请参阅此文 ▼[jiawen ids=688]条件:必须为此方法所需的Gmail邮箱……

gmail-setting

深入了解POP3和IMAP的区别,请浏览以下链接 ▼

POP3和IMAP是什么意思?哪个好?IMAP/POP3区别

邮件营销是众多网络营销方法中的一种,通常是结合数据库营销一起操作。电子商务网站除了必须做SEO,还需要将邮件营销和数据库营销结合,以促进转化率的提升。由于在使用邮件客服端时,是……

pop3-imap-difference

由于中国的互联网服务有太多限制非常麻烦,微信和QQ容易登录环境存在异常而被冻结账号,造成无法登录腾讯企业域名邮箱,所以规避此风险的方法,是改用Mail.ru邮箱绑定自定义企业域名邮箱。

希望我们网站( https://www.wordpressx.com/ ) 分享的《WordPress无法发送邮件?WP SMTP插件配置其他邮箱方法》,对您有帮助。

get_comments_number()函数(get to number)

发布于: 2022-08-19

某些时候我们需要在网站上面展示出文章的评论数量,这时候就需要使用get_comments_number()函数,这个函数能够完美的实现这个需求。

语法
<

get_comments_number( int|WP_Post $post_id )

实例

get_comments_number()函数
<?php echo get_comments_number(); ?>

 

WordPress怎么用Redis加速缓存插件?CWP开启Redis缓存(wordpress使用redis)

发布于: 2022-11-03

1 什么是 Redis 缓存?

  • 2 如何在 CWP 控制面板,启用 Redis缓存数据库?
  • 3 如何在 WordPress 启用 Redis缓存加速插件?
  • 4 如何查看Redis缓存是否生效?

 

你可能听说过 APC/APCu、Opcache、Xcache,它们可以显着加速 WordPress 或任何类型的受支持的 php 脚本。

在本教程中,我将向你展示如何使用 Redis 对象缓存加速 WordPress,我们将继续在 CWP 上安装 Redis 缓存,所以让我们开始吧。

什么是 Redis 缓存?

  • Redis 是RE mote DI ctionary Server的缩写。
  • Redis 是一种快速、开源的内存键值数据结构存储。
  • Redis 带有一组通用的内存数据结构,可让你轻松创建各种自定义应用程序。
  • Redis 的主要用例包括缓存、会话管理、发布/订阅和排行榜。
  • Redis 是当今最流行的键值存储。
  • Redis 是 BSD 许可的,用优化的 C 代码编写,并支持多种开发语言。

如何在 CWP 控制面板,启用 Redis缓存数据库?

第 1 步 :转到 CWP控制面板

  • 选择“ PHP Settings ”然后选择“ PHP Version Switcher ”;
  • 然后从下拉列表中选择“ PHP Version ”,推荐选择安装php 7的最新版本 ▼
  • 该页面在重新加载后,你将看到 PHP 选项可用于安装(复选框)

cwp-install-redis-wordpress_001

导航到底部并找到“ redis ”并选中它然后点击“ Build ”按钮,在php重建过程完成后,你可以通过以下命令检查redis是否在运行 ▼

service redis status

你会得到这样的输出(在CentOS 7上测试,CentOS 6有不同的输出,比如“ running ”)

[[email protected] ~]# service redis status
Redirecting to /bin/systemctl status redis.service
● redis.service - Redis persistent key-value database
Loaded: loaded (/usr/lib/systemd/system/redis.service; enabled; vendor preset: disabled)
Drop-In: /etc/systemd/system/redis.service.d
└─limit.conf
Active: active (running) since Sun 2022-02-20 16:41:24 +08; 12s ago
Main PID: 2486 (redis-server)
Status: "Ready to accept connections"
CGroup: /system.slice/redis.service
└─2486 /usr/bin/redis-server 127.0.0.1:6379

此时一切都很好,现在输入以下命令,检查 php redis 是否安装好了 ▼

php -m | grep -i redis

输出将是这样的 ▼

[[email protected] ~]# php -m | grep -i redis
redis
[[email protected] ~]#

如果输出为 redis ,那么一切都很好,我们将继续安装 WordPress 和 Redis 的集成。

安装CWP7控制面板的方法,请看这里 ▼

如何安装CWP控制面板?CENTOS WEB PANEL配置教程

如何安装CWP控制面板? CENTOS WEB PANEL配置教程 网络推广人员用VPS建站,有众多免费或付费的控制面板可以选择。 在不知道要如何选择功能齐全的VPS控制面板时,推荐使用CWP控制面板。 什……

cwp_logo-1

如何在 WordPress 启用 Redis缓存加速插件?

第 2 步 :在 WordPress 中启用 redis-object-cache 插件之前,你必须在 wp-config.php 文件中添加以下定义 ▼

define( 'WP_CACHE_KEY_SALT', 'www.wordpressx.com:' );
  • www.wordpressx.com 替换为你的网站。

第 3 步 :登录到 WordPress后台 → 转到“插件” → “安装插件” ▼

  • 你需要添加这个WordPress插件:Redis Object cache

点此进入WordPress官网 免费下载Redis Object cache插件

cwp-install-redis-wordpress_002

第 4 步 :假设你已经安装了 Redis Object cache 插件,现在导航到 Redis 设置并单击“启用对象缓存”。

WordPress启用 Redis 缓存加速插件后,它将显示“已连接”,如下图所示 ▼

cwp-install-redis-wordpress_004

  • 恭喜你!成功启用了 WordPress  Redis 缓存加速插件!
  • 你会注意到负载现在减少了,并且网站加载速度非常快。

特别声明:如果默认安装的程序是英文的,截图理所当然是英文的。

  • 可是,有些中国人却说“中文网站用的是英文截图”、“图片的箭头是不同的”……
  • 可以看出这些中国人完全是被限制自由思想了。
  • 可能因为中国不是开放自由的国家,若是这么说,在中国就好像完全没有自由讲英语、学英语了吗?

如何查看Redis缓存是否生效?

使用如下命令查看本地Redis缓存是否生成 ▼

redis-cli monitor
  • 进入你的网站,刷新页面, 可以看到有数据输出。

Redis缓存也可能会导致WordPress插件和WordPress主题修改不生效。

手动删除Redis缓存的命令

redis-cli flushall

#进入redis
redis-cli

#清空
flushall

#退出
exit

查看Redis的memory配置 ▼

redis-cli info memory

返回查询结果 ▼

# Memory
used_memory:24645472
used_memory_human:23.50M
used_memory_rss:40558592
used_memory_rss_human:38.68M
used_memory_peak:140777552
used_memory_peak_human:134.26M
used_memory_peak_perc:17.51%
used_memory_overhead:1619888
used_memory_startup:811872
used_memory_dataset:23025584
used_memory_dataset_perc:96.61%
allocator_allocated:24964648
allocator_active:26865664
allocator_resident:37646336
total_system_memory:17179869184
total_system_memory_human:16.00G
used_memory_lua:37888
used_memory_lua_human:37.00K
used_memory_scripts:0
used_memory_scripts_human:0B
number_of_cached_scripts:0
maxmemory:0
maxmemory_human:0B
maxmemory_policy:noeviction
allocator_frag_ratio:1.08
allocator_frag_bytes:1901016
allocator_rss_ratio:1.40
allocator_rss_bytes:10780672
rss_overhead_ratio:1.08
rss_overhead_bytes:2912256
mem_fragmentation_ratio:1.65
mem_fragmentation_bytes:15954144
mem_not_counted_for_evict:0
mem_replication_backlog:0
mem_clients_slaves:0
mem_clients_normal:20496
mem_aof_buffer:0
mem_allocator:jemalloc-5.1.0
active_defrag_running:0
lazyfree_pending_objects:0
lazyfreed_objects:0

以下是启动Redis缓存后,如何配置pid文件的方法 ▼

Redis找不到pid?Redis启动后如何配置pid文件位置地址

Redis启动找不到pid文件位置?Redis的pid文件在哪里?Linux怎么查看Redis进程pid文件位置地址?Linux 查找redis进程命令 ▼ps -ef | grep redis返回显示以下查询结果 ▼redis 28221……

redis-logo

希望我们网站( https://www.wordpressx.com/ ) 分享的《WordPress怎么用Redis加速缓存插件CWP开启Redis缓存》,对您有帮助。

get_category_parents()函数(get to parents)

发布于: 2022-08-19

get_category_parents()函数使用分隔符输出当前文章的分类名称

语法结构

get_category_parents(int id, bool $link = false, string $separator = '/', bool $nicename = false)

参数

id int(必填) 类别ID

$linkbool(可选) 是否使用链接格式 默认值:false,没有链接,true会显示当前链接

$separator 字符串 (可选) 分隔符 默认值: ‘/’

get_category_parents()函数

$ nicenamebool (可选) 是否使用别名进行显示。默认值:false

案例

$cat_title = single_cat_title('', false);
$cat_id = get_cat_ID( $cat_title );
echo '&gt;'. get_category_parents( $cat_id, true, ' &gt; ');

这个函数可以用来做分类页面的面包屑导航

TAG列表 wordpress最新最热TG汇集,掌握wordpress热线内容
WordPress过滤敏感词插件wordpress漏洞修复Mega Menu插件wordpress更换域名图标不显示Featured Image From URLwordpress cdnJetpack插件wp-json安全设置wp-json链接Awesome Supporth5自适应布局namechep续费优惠码Pretty Links Pro插件WordPress虚拟主机伪静态Markdown here插件WordPress显示运行数据库WordPress文章描文本critical automatic updateswordpress安全防护主机壳WordpressWordPress滤敏感词过滤插件BackWPup插件wp-json优化WordPress广告词检测隐藏WordPress后台登录地址All In One WP SecurityRedis加速缓存插件wordpress DropboxWooCommerceWordPress菜单自定义图标robots.txt禁止访问WordPress tag模版CWP控制面板转KLOXO-MRwp-json漏洞Jetpack站点加速器CDN图像缓存robots.txt安全设置wordpress表单跳转wp-json防止数据被采集nameCheap最新优惠码wordpress小图标不显示WordPress违禁词检查WordPress站内搜索排除所有页面Easy WP Cleaner插件wordpress打开是代码WP SMTP插件设置Shortcodes UltimateWordPress大气的样式Footer and Post Injections插件xmlrpc.php攻击去除tag标签urlxmlrpc.php漏洞Dropbox上传失败WP-No-Tag-Base插件扒站怎么改wordpress主题网站添加CDNWordPress外链特色图片WP SMTP插件wordpress Post ViewsWordPress页脚页眉插件wordpress文章浏览数量统计保护robots.txt禁用 xmlrpc.phpAvada主题演示WordPress网站恶意代码WordPress tagWooCommerce 定价WooCommerce 商店CWP开启Redis缓存Rich Snippets结构化数据WordPress调试模式wordpress感谢页面WordPress站内搜索排除某些类别的文章WooCommerce 功能百度熊掌号Better Search Replace插件WordPress官网制作Avada主题安装WordPress插件织梦采集侠wordpressnamechep域名优惠码谷歌 SEOShortcodes Ultimate插件wordpress常规设置http://www.fandutaoci.cnWordPress网站安全防wordpress文章卡片样式bootstrap自适应布局WordPress超级菜单WP插件优化head代码隐藏WordPress代码内版本号什么是 WooCommerceWordPress网站防护修改wordpress登录地址WordPress自动备份Image Sizes插件WP安全登录插件推荐WordPress自定义页眉WordPress页脚加载JSWordfence Security插件wordpress描文本
服务电话:
0533-2765967

微信 13280692153