标签: wordpress

  • 如何扫描及清除WordPress网站恶意软件或者挂马

    清除WordPress网站恶意软件或者挂马

    许多人听到黑客这个词,就会想到有人穿着连帽衫坐在黑暗的地下室里,在命令行中输入代码,通过突破防火墙来瞄准网站,并像躲避安全机器人一样躲避安全机器人,直到网站被破碎并从互联网上删除。但事实并非如此。事实上,黑客通常是恶意软件,它被发现某种漏洞的机器人狡猾地插入到您网站的服务器中。除此之外,如果您的网站被黑客入侵,您很可能甚至都不知道。但我们在这里帮助确保您知道如何使用WordPress恶意软件扫描来清理它。

    如何植入隐藏恶意软件?

    黑客可以通过多种方式访问​​您的网站。最常见的一种被称为蛮力攻击,僵尸网络会尝试各种用户名/密码组合,直到成功并让它们进入。一旦他们可以访问您的站点,他们就可以为所欲为并安装任何恶意代码。

    它可能是从您下载到本地计算机的文件中安装的,该文件中包含的恶意软件已进入您的服务器。您甚至可能(当然是无意中)点击了一个网络钓鱼链接或被一个受感染的网站重定向到一个看似合法的网站。

    甚至还有整个机器人网络在互联网上搜索具有特定漏洞的WordPress网站。像过旧版本插件、具有特定未修补漏洞的主题、运行旧版本PHP的服务器等。

    在您的网站上隐藏恶意软件可能意味着您采取了导致其安装的操作,但并非总是如此。这些事情在某个时候会发生在我们所有人身上,我们希望您在发生这种情况时不要太自责。因为虽然这绝对不是一件好事,但如果您遵循正确的步骤,它是可以解决的。我们现在将带您完成。

    1. 选择反恶意软件保护插件

    无论您是否认为自己的网站上隐藏着恶意软件,第一步都是选择反恶意软件。对于WordPress用户,两个首选是WordFenceSucuri。这两种方法都经过试验、测试和信任,可以保护WordPress网站。除了更高级的高级版本之外,它们都提供数万用户信任的一流免费版本。

    你也不会出错。但是对于本文,我们将使用WordFence作为示例。

    此外,您可以选择一些外部URL检查器,例如VirusTotal

    VirusTotal

    这些类型的服务通过各种数据库运行您的 URL 和公共文件。这些索引 URL 并指示它们是否已被标记为已泄露或可疑。如果您没有恢复干净,WordFence 或 Sucuri 可以通过以下步骤帮助您修复它。

    2. 如何扫描网站是否有恶意软件

    无论外部网站怎么说,您都希望使用WordPress插件运行恶意软件扫描,以便它可以深入您的文件系统。就像我们之前说的,我们将在这个例子中使用WordFence。您可以从WordPress.org插件库下载并安装它。

    WordFence插件

    您看到的标准WordFence仪表盘非常有用,它显示在WP管理面板的WordFence – Dashboard下。您可以查看截至该时间点的保护摘要、扫描次数、最近一次扫描中的问题数量等。

    WordFence插件仪表盘

    当您进入WordFence – Scan时,您会看到大量数据。但是一旦你知道你在看什么,它就很容易消化。

    WordFence插件安全扫描

    当您按下Start New Scan (2)按钮时,WordFence会按照各种条件的进度条 (3)工作。(我们说进度条是因为它按此顺序检查。)扫描后,您会在Results Found (4) 选项卡中看到详细的结果日志,以及您可以在右侧(5)采取的操作。

    3. 如何处理恶意软件扫描结果

    一旦您看到您的结果,就该解析它们并对其采取行动了。但即使在此之前,你也必须知道它在说什么。

    WordFence插件安全警告列表

    如果您看到带有红点的标记为High Priority (6) 的消息 ,则需要尽快查看。特别是如果您看到它说WordPress core中有一个 未知文件。这是个坏消息。幸运的是,WordFence允许您通过单击按钮Delete All Deletable Files(5)删除所有可删除文件 。

    但是,您应该始终在执行此操作之前备份您的WordPress网站,以确保您没有删除任何必要的内容。WordFence甚至会提醒您这样做。

    WordFence插件文件删除提醒

    完成后,您可以按Delete Files让WordFence处理它们。此时,您的站点应该没有隐藏的恶意软件。如果您想更深入地检查,请使用Sucuri进行扫描,看看它是否能找到WordFence遗漏的任何内容。此外,您可以订阅两者的高级版本以获得更深入的扫描。

    受恶意软件感染的文件消失了。因此,您只需处理不太紧迫且最有可能与非恶意软件相关的问题。(尽管它们以自己的方式同样重要)。

    WordFence插件安全更新提醒

    在这种情况下,WordPress版本已过时 (9)。WordFence对此发出警告,因为过时的WP版本可能包含尚未修补的严重安全问题。如果您已经过时,那么您就是恶意软件的老大。此外,WordFence会告诉您插件和主题版本已过时(10)。出于完全相同的原因。

    请注意,WP核心更新标记为高优先级。插件更新为中等。这是因为就WordPress网站黑客而言,他们背后的人更有可能针对每个人使用的软件的核心。相比之下,没有一个插件或主题只有少数人使用。不过,它确实发生了,所以值得关注。

    4. 找到隐藏的恶意软件后怎么办

    在您的网站上发现恶意软件很痛苦。这对您以及您的客户和客户来说都是可怕的。在您清理网站并清除恶意软件并赶走黑客后,您可以按照几个简单的步骤来加强防御。

    • 更改所有密码。您可能不知道恶意软件是如何到达那里的。但是您的管理员和用户密码有可能以某种方式被泄露。所以你需要全部改变它们。使用这个插件来做它,它会在他们注册的电子邮件中通知每个人。
    • 启用双因素身份验证 (2FA)。 通过在您的站点上启用2FA,这意味着即使密码被泄露,攻击者也不太可能进一步进入您的站点。随着对WordPress网站的攻击增加,这一步变得强制性。
    • 审核您的注册用户。为安全起见,请检查您网站上有权编辑文件和权限的用户。如果攻击者进入您的站点并创建了自己的用户,那么他们也会发生2FA和更改密码。因此,请检查您是否有痣并将其根除。根除它们,我们的意思是删除该用户并将其从您的数据库中清除。
    • 备份您的网站。 现在您确定您的网站是干净的,请备份它。
    • 运行定期恶意软件扫描。希望您能保持WordFence或您使用的任何安全插件的安装。将其设置为自动扫描您的站点并将结果通过电子邮件发送给您。免费版WordFence将为您完成此操作。

    小结

    恶意软件、黑客、病毒、暴力攻击……所有这些都很可怕,但它们都非常易于管理。您可以通过保持冷静并运行几次扫描来处理您网站上的任何恶意代码。那里的安全专业人员会及时了解所有最新威胁,因此我们都可以信任他们及其插件,以确保我们、我们的机器和我们的生计安全。因此,通过快速安装和按下按钮,您可以扫描您的WordPress网站是否存在恶意软件,并且您可以轻松地知道您的网站与安装当天一样干净。

  • 如何解锁WordPress限制登录尝试次数

    WP登录限制解锁教程如果安装一个名为Limit Login Attempts的插件。在某些情况下,如果您多次输入错误的密码,“限制登录尝试”也可能会将您锁定。在本文中,我们将向您展示如何在WordPress中解锁限制登录尝试插件。

    FTP或文件管理器方法

    对于初学者来说,最简单的解决方案是使用FTP删除Limit Login Attempts插件,然后在您可以登录后重新安装它。

    您需要通过FTP登录到您的站点,然后转到/wp-content/plugins/。到达那里后,您只需删除limit-login-attempts插件文件夹即可。

    您也可以使用您的网络主机的cPanel文件管理器执行此操作。

    cPanel文件管理器

    只需浏览到/wp-content/plugins/并删除limit-login-attempts文件夹。

    MySQL查询

    MySQL查询

    对于熟悉MySQL和phpMyAdmin的高级用户,您可以轻松运行以下SQL查询,它将清除所有锁定。

    UPDATE wp_options SET option_value = WHERE option_name = ‘limit_login_lockouts’ LIMIT 1;
    UPDATE wp_options SET option_value = ” WHERE option_name = ‘limit_login_lockouts’ LIMIT 1;
    UPDATE wp_options SET option_value = '' WHERE option_name = 'limit_login_lockouts' LIMIT 1;

    如果您想解锁您的特定 IP,例如 111.222.111.222,请运行如下查询:

    UPDATE wp_options SET option_value = REPLACE(option_value, ‘111.222.111.222’, ) WHERE option_name = ‘limit_login_lockouts’ LIMIT 1;
    UPDATE wp_options SET option_value = REPLACE(option_value, ‘111.222.111.222’, ”) WHERE option_name = ‘limit_login_lockouts’ LIMIT 1;
    UPDATE wp_options SET option_value = REPLACE(option_value, '111.222.111.222', '') WHERE option_name = 'limit_login_lockouts' LIMIT 1;

    如果您更改了数据库前缀,请确保更新您的IP地址以及数据库表前缀。

    我们希望本教程能帮助您解除WordPress限制登录尝试锁定。

  • 如何以及为什么应该限制WordPress登录尝试次数

    黑客可能会使用蛮力攻击来尝试猜测您的管理员密码。如果您限制他们可以尝试登录的次数,那么您会大大降低他们成功的机会。

    在本文中,我们将向您展示如何以及为何应限制WordPress网站登录尝试次数。

    如何以及为什么应该限制WordPress登录尝试次数

    为什么要限制WordPress登录尝试次数?

    蛮力攻击是一种使用反复试验来入侵您的WordPress网站的方法。

    最常见的蛮力攻击类型是密码猜测。黑客使用自动化软件不断猜测您的登录信息,以便他们可以访问您的网站。

    默认情况下,WordPress允许用户根据需要多次输入密码。黑客可能会尝试通过使用输入不同组合的脚本来利用此漏洞,直到他们猜到正确的登录名。

    您可以通过限制每个用户的失败登录尝试次数来防止暴力攻击。例如,您可以在5次登录尝试失败后暂时锁定用户。

    限制WordPress登录尝试次数提示

    不幸的是,一些用户在多次错误地输入密码后发现自己被锁定在自己的WordPress网站之外。如果您发现自己处于这种情况,那么您应该按照我们指南中有关如何取消WordPress限制登录尝试的步骤进行操作。

    话虽如此,让我们来看看如何限制您的WordPress网站上的登录尝试。

    如何限制WordPress登录尝试次数

    您需要做的第一件事是安装并启用Limit Login Attempts Reloaded插件。

    免费版本是本教程所需的全部内容。启用插件后,您应该访问Settings » Limit Login Attempts页面,然后单击顶部的Settings选项卡。

    默认设置适用于大多数网站,但我们将引导您了解如何为您的网站自定义插件设置。

    Limit Login Attempts Reloaded插件设置

    为了遵守GDPR法律,您可以单击“GDPR compliance”复选框以在登录页面上显示一条消息。

    接下来,您将选择是否在有人被锁定时收到通知。如果您愿意,您可以更改发送通知的电子邮件地址。默认情况下,您将在用户第三次被锁定时收到通知。

    之后,您应该向下滚动到“Local App”部分,您可以在其中定义可以进行多少次登录尝试以及用户必须等待多长时间才能再次尝试。

    Local App参数设置

    首先,您需要定义可以进行多少次登录尝试。之后,选择用户在超过失败尝试次数时必须等待的分钟数。默认值为20分钟。

    您还可以在用户被锁定指定次数后增加等待时间。例如,默认设置将不允许用户在被锁定4次后24小时内尝试登录。

    出于安全原因,建议您不要更改“Trusted IP Origins”设置。

    不要忘记单击屏幕底部的“Save Settings”按钮来存储您的更改。

    关于如何保护WordPress网站的专业提示

    限制登录尝试只是保持 WordPress 网站安全的一种方法。

    您的WordPress网站的第一层保护是您的密码。您应该始终在WordPress网站上使用强密码。

    强密码可能难以记住,但您可以使用密码管理器来轻松记住。

    如果您的WordPress登录页面仍然受到攻击,那么您可以添加的另一层保护是Google reCAPTCHA for WordPress login 。这将进一步有助于减少DDoS攻击

    没有网站是100%安全的,因为黑客总能找到绕过系统的新方法。这就是为什么始终保持WordPress网站的完整备份至关重要的原因。我们建议使用UpdraftPlus或其他流行的WordPress备份插件

    如果您的网站是一家企业,那么我们强烈建议您添加防火墙来处理暴力攻击等等。我们使用Sucuri来保证我们的安全,如果我们的网站发生任何问题,他们的团队有责任免费修复它。

    有关更多安全提示,请务必查看我们的WordPress安全检查清单

    我们希望本教程能帮助您了解如何限制WordPress登录尝试次数,以防有心之人搞破坏!

  • 如何恢复WordPress备份数据(多种方法)

    如何恢复WordPress备份数据(多种方法)

    无论您有多精通技术或使用WordPress多久;总有一天会出现可怕的错误。有时是用户错误,有时是由于插件漏洞而被黑客入侵。如果您不知道如何修复它,或者认为这可能需要很多时间,那么解决问题的最快捷、最简单的方法是从备份中恢复WordPress。毕竟,这就是您有备份的原因,或者您应该这样做。

    在本指南中,我们将介绍如何使用六种不同的方法从备份中恢复WordPress。使用某些选项,您可以在几分钟内恢复运行。

    1. 了解WordPress备份的工作原理
    2. 从宝塔面板备份中还原WordPress
    3. 设置宝塔自动备份计划任务
    4. 使用插件从备份中恢复WordPress
    5. 使用phpMyAdmin恢复WordPress数据库备份
    6. 使用cPanel恢复WordPress数据库备份
    7. 从仪表盘或使用SFTP手动恢复WordPress文件

    了解WordPress备份的工作原理

    在我们深入研究如何从备份中恢复WordPress之前,首先了解它们的工作原理很重要。标准的WordPress备份包含您网站的文件和MySQL数据库。但是WordPress备份可能会因用于备份的内容而异。

    WordPress备份插件

    如果您使用的是WordPress备份插件,通常他们会给您选择只保留您的/wp-content/uploads/和数据库(有时还有您的主题和插件文件夹)以节省磁盘空间。数据库包含您的所有数据,而uploads文件夹包含您无法通过其他方式恢复的重要文件,例如媒体库中的图像。

    主题和插件通常可以轻松重新安装。但是,大多数备份插件都可以让您选择做所有事情或仅限于节省空间。

    如果您使用的是支持增量备份的备份插件(这是我们推荐的),它将首先进行整个站点备份,然后仅在您的站点上存储更改。这大大减少了磁盘空间使用量,并且性能更好,因为它不会在重复的计划中一次敲打您的服务器。

    使用WordPress主机的一键式还原点

    如果您有托管服务提供商的WordPress备份,这些备份通常更像是您网站的快照。你可以把它想象成Mac上的Time Machine。大多数托管的WordPress主机让您一键恢复到某个时间点。这是迄今为止最简单、最方便的方法!

    当然国内很多云服务器提供商都提供备份技术支持服务,比如阿里云,百度云、腾讯云及华为云都提供类似的快照、克隆或者镜像支持,可以实现一键还原。

    注:如果你使用了单独的云数据库,你还需要为云数据库启用自动备份任务,才可以实现一键还原。

    从宝塔面板备份中还原WordPress

    您可以直接在“宝塔”面板中轻松恢复您的WordPress站点。只需按照以下步骤操作即可。

    需要清楚地知道宝塔面板不会自动备份网站文件及数据库,这跟大厂的备份一样,都需要你先启用备份计划,才会有备份数据。此外,宝塔面板的备份与云服务器提供商提供的一键备份还原有质的区别。

    像阿里云的每个备份都是创建备份时此环境的文件、数据库、重定向和Nginx配置的完整快照。当您恢复备份时,对网站文件、数据库、重定向和Nginx配置的所有更改都将回滚到创建备份的时间。

    但宝塔面板备份的仅是网站文件及数据库,不会对整个服务器进行备份及还原。

    第1步

    首先,登录宝塔面板。转到左侧的“网站”,然后单击您需要为其恢复备份的WordPress站点的备份列下方的“备份入口”,或者直接访问/www/backup/site。

    WordPress网站备份

    WordPress网站备份

    第2步

    将备份的数据压缩包解压并覆盖现有的网站目录,你也可以直接删除现有的网站数据,使用备份的数据直接替代旧数据。至此,即可恢复网站的文件数据。下面你,还需要恢复数据库。

    第3步

    要“恢复”数据库,你需要进入宝塔面板的“数据库”,选择你需要恢复数据库的网站对应数据库行,点击备份下方的导入:

    WordPress数据库备份恢复

    WordPress数据库备份恢复

    选择最新的数据库备份文件,点击导入即可恢复网站数据库

    WordPress数据库备份恢复

    WordPress数据库备份恢复

    注:宝塔面板的网站文件及数据库备份恢复依赖宝塔面板的计划任务,或者你的手动备份。我们将会在下一个章节讲到。

    设置宝塔自动备份计划任务

    在宝塔面板,您可以为您的WordPress网站文件及数据库设置备份计划任务,以便于您日后需要,快速将网站恢复至此前的状态。

    您可以通过宝塔面板的“计划任务”设置自动备份计划任务。

    宝塔计划任务

    宝塔计划任务

    要设置网站备份,您只需要在任务类型处选择“备份网站”,然后设置任务名称、执行周期及选择备份网站、对应的备份路径,点击添加任务即可。

    宝塔网站备份任务

    宝塔网站备份任务

    要设置网站数据库备份,设置类似网站备份,不同的是任务类型及需选择对应网站的数据库,最后点击添加任务。

    宝塔数据库备份任务

    宝塔数据库备份任务

    使用插件从备份中恢复WordPress

    接下来,我们将向您展示如何使用插件从备份中恢复 WordPress。我们只推荐使用支持增量备份的备份。

    增量网站备份是指系统仅在站点文件和数据库表发生更改时创建备份。这样做的原因是为了提高您的站点性能并避免服务器上出现数十个不必要的备份文件。因此,最好是您的备份插件扫描最新的文件并在没有任何更改的情况下跳过下一个备份。

    以下是我们推荐的四个备份插件:

    在本教程中,我们将使用WP Time Capsule。它有一个免费的、功能齐全的版本,您可以使用30天。这很棒,因为这意味着您可以在提交之前先尝试一下。

    WordPress插件-WP Time Capsule

    WordPress插件-WP Time Capsule

    WP Time Capsule提供增量备份和恢复。这意味着您可以通过在备份期间从不复制文件而仅选择这些恢复所需的特定文件来提高站点性能并使恢复更容易。

    我们假设您已经进行了备份。如果您需要帮助从头开始安装它,请查看WP Time Capsule的入门指南。否则,请按照以下步骤从WP Time Capsule备份恢复WordPress。

    第1步:登录到您的WordPress仪表盘,转到“WP Time Capsule”→“Backups”,然后在日历上选择一个还原点。

    注意:如果您无权访问WordPress管理仪表盘(可能当前无法访问),请参阅WP Time Capsule的解决方案,了解如何恢复已关闭的站点

    选择WP Time Capsule还原点

    选择WP Time Capsule还原点

    第2步:然后单击“Restore site to this point.”。他们也有能力恢复到他们自己的临时解决方案。

    使用WP Time Capsule从备份中恢复WordPress

    使用WP Time Capsule从备份中恢复WordPress

    使用phpMyAdmin恢复WordPress数据库备份

    有时您可能需要手动恢复数据库。您可以按照以下有关如何使用phpMyAdmin恢复MySQL数据库的步骤进行操作。

    phpMyAdmin是一个免费的开源工具,可通过浏览器使用,用于处理MySQL或MariaDB的管理。它可以用于各种不同的操作,例如迁移数据库、管理表、索引和执行SQL语句。

    注意:本教程假设您已经有*.sql要导入的备份或导出 文件。如果没有,请参阅我们关于如何使用phpMyAdmin备份mySQL数据库的教程 。

    第1步:首先,您需要登录到phpMyAdmin。在宝塔面板,我们可以从宝塔面板左侧的数据库菜单,然后在数据库列表找到网站对应的数据库,然后点击“管理”即可进入phpMyAdmin。

    宝塔面板中的phpMyAdmin入口

    宝塔面板中的phpMyAdmin入口

    注意:如果您使用不同的托管服务提供商,phpMyAdmin的位置可能会有所不同。您可以查看他们的文档或联系他们的支持团队并询问它的位置。如果您使用的是cPanel,则可以在“Databases”部分下找到phpMyAdmin。

    cPanel phpMyAdmin

    cPanel phpMyAdmin

    第2步:单击您的WordPress数据库。该名称很可能与您网站的名称相对应。

    WordPress数据库-phpMyAdmin

    WordPress数据库-phpMyAdmin

    第3步:单击“Import”选项卡,然后单击“Choose file”。选择您的*.sql文件备份/导出。然后点击“Go”。

    重要提示:导入*.sql文件将覆盖数据库的当前内容。一定要备份以防万一。

    phpMyAdmin中的MySQL数据库导入

    phpMyAdmin中的MySQL数据库导入

    如果您因为认为WordPress网站可能已被黑客入侵而恢复数据库,我们建议您采取一些额外的步骤。

    更改您的数据库密码

    如果您的WordPress网站遭到黑客入侵,您应该重置您的MySQL数据库密码。在宝塔面板的“数据库”菜单下,您可以点击网站对应的数据库对应的“改密操作”即可执行该网站数据库密码修改。修改数据库密码后,您可以手动更新您的wp-config.php文件

    生成新的数据库密码

    生成新的数据库密码

    重新安装WordPress核心(无效插件、主题)

    我们建议的另一件事是重新安装WordPress核心。这不会影响您的数据(存储在数据库中)或自定义。

    如果您正在处理无效的WordPress插件或主题,您还应该重新安装它们,但使用开发人员提供的合法副本。

    使用cPanel恢复WordPress数据库备份

    如果您与使用cPanel的托管服务提供商合作,您可以以类似的方式恢复您的WordPress数据库。请按照以下步骤操作。

    第1步:登录您的cPanel帐户,然后在“Files”部分下单击“Backup”。

    cPanel备份

    cPanel备份

    第2步:向下滚动到“Restore a MySQL database backup”。单击“Choose File”并选择您的*.sql文件备份/导出。然后点击“Upload”。

    cPanel恢复MySQL数据库备份

    cPanel恢复MySQL数据库备份

    从仪表盘或使用SFTP手动恢复WordPress文件

    如果您需要手动恢复WordPress文件,您可以使用两种不同的方法。

    从仪表盘恢复WordPress文件

    如果您仍然可以访问仪表盘,则可以先尝试此方法。这出奇的简单。

    在您的WordPress仪表盘中,转到侧栏中的“仪表盘”→“更新”。然后单击“立即重新安装”按钮。

    WordPress仪表盘立即重新安装选项

    WordPress仪表盘立即重新安装选项

    单击该按钮后,WordPress将自动下载并重新安装最新版本的WordPress。当您从仪表盘更新WordPress时,您实际上只是手动重新运行WordPress执行的正常更新过程。

    这可能需要几秒钟 – 但一旦该过程完成,您应该安装一个全新的WordPress副本。

    使用SFTP恢复WordPress文件

    如果您因为错误而无法访问WordPress管理后台(或者只是更喜欢通过SFTP工作),您可以通过SFTP执行类似的过程。基本上,您将手动复制WordPress上面部分中本来可以为您做的事情。

    以下是这些步骤的快速摘要:

    1. 下载最新版本的WordPress。
    2. 提取.zip文件。
    3. 上传除/wp-content/ 文件夹外的所有内容 。

    第1步:首先,前往WordPress .org并下载最新版本的WordPress。

    下载最新的WordPress副本

    下载最新的WordPress副本

    第2步:下载完成后,将.zip文件的完整内容提取到您的计算机。然后,删除wp-content 文件夹。

    删除WordPress安装包的wp-content文件夹

    删除WordPress安装包的wp-content文件夹

    第3步:完成后,通过SFTP连接到您的主机并将剩余文件上传到您最初安装WordPress的文件夹。通常,这是您的根文件夹,名称类似于public 或 public_htmlwwwroot/yourdomain

    当您开始上传文件时,您的SFTP程序应该会提示您一条类似于“目标文件已经存在”的消息。发生这种情况时,请确保选择覆盖选项并继续:

    通过SFTP上传剩余文件

    通过SFTP上传剩余文件

    因为您已经删除了该 wp-content 文件夹,这将覆盖所有核心WordPress文件,而不会影响您的任何主题或插件。上传完成后,您应该拥有一个全新安装的WordPress核心文件副本,希望一切顺利。

    小结

    虽然从备份或文件恢复WordPress通常是一个非常简单的过程,但有时您可能会遇到一些问题。以下是我们看到用户遇到的一些常见问题以及如何解决这些问题的链接:

  • WordPress安全指南:19个步骤让您的WordPress安全防线坚如磐石

    WordPress安全指南:19个步骤让您的WordPress安全防线坚如磐石

    谈到WordPress安全性,您可以采取很多措施来锁定您的网站,以防止黑客和漏洞影响您的电子商务网站或博客。您最不想发生的事情是一天早上醒来发现您的网站一团糟。因此,今天我们将分享许多技巧、策略和技术,您可以使用这些技巧、策略和技术来提高WordPress安全性并保持受保护。

    WordPress安全吗?

    您可能想知道的第一个问题是WordPress安全吗?多半是对的。然而,WordPress通常会因为容易出现安全漏洞并且本质上不是用于企业的安全平台而受到批评。这通常是由于用户一直遵循经过行业验证的安全最差做法。

    使用过时的WordPress软件、无效的插件、糟糕的系统管理、凭据管理以及非技术人员WordPress用户缺乏必要的Web和安全知识,使黑客能够控制他们的网络犯罪游戏。即使是行业领导者也不总是使用最佳实践。路透社被黑是因为他们使用的是过时的WordPress版本。

    从根本上说,安全并不是完全安全的系统。这样的事情很可能是不切实际的,或者不可能找到和/或维护。然而,安全是降低风险,而不是消除风险。这是关于在合理范围内使用所有可用的适当控件,使您可以改善整体姿势,从而降低使自己成为目标并随后被黑客入侵的可能性。– WordPress安全法典

    现在,这并不是说漏洞不存在。根据多平台安全公司Sucuri 2017年第三季度的一项研究WordPress继续领先于他们工作的受感染网站(83%)。 这一比例高于2016年的74%。

    WordPress安全漏洞

    WordPress安全漏洞

    WordPress为Internet上超过43.0%的网站提供支持,并且拥有数十万个主题和插件组合,因此存在漏洞并不断被发现也就不足为奇了。但是,围绕WordPress平台也有一个很棒的社区,以确保这些东西尽快得到修补。截至2022年,WordPress安全团队由大约50名(高于2017年的25名)专家组成,其中包括首席开发人员和安全研究人员——大约一半是Automattic的员工,还有一些人在网络安全领域工作。

    WordPress漏洞

    在下面查看一些不同类型的WordPress安全漏洞。

    Backdoors(后门)

    这个名副其实的后门漏洞为黑客提供了绕过安全加密的隐藏通道,以通过异常方法( wp-Admin、SFTP 、FTP等)访问WordPress网站。一旦被利用,后门使黑客能够通过跨站点污染对托管服务器造成严重破坏攻击——危害托管在同一服务器上的多个站点。在2017年第三季度, Sucuri报告说,后门仍然是攻击者采取的众多黑客攻击后行动之一,71%的受感染网站具有某种形式的后门注入。

    恶意软件家族分布

    恶意软件家族分布

    后门通常被加密以看起来像合法的WordPress系统文件,并通过利用平台过时版本中的弱点和错误进入WordPress数据库。TimThumb惨败是利用黑幕脚本和过时软件危害数百万网站的后门漏洞的典型例子。

    幸运的是,这个漏洞的预防和治疗相当简单。您可以使用SiteCheck等工具扫描您的WordPress网站,  该工具可以轻松检测常见的后门程序。双重身份验证、阻止IP、限制管理员访问和防止未经授权执行PHP文件很容易解决常见的后门威胁,我们将在下面详细介绍。Canton Becker 也有一篇关于清理WordPress安装上的后门混乱的好文章。

    Pharma Hack

    Pharma Hack漏洞用于在过时版本的WordPress网站和插件中插入恶意代码,导致搜索引擎在搜索受感染网站时返回药品广告。与传统的恶意软件相比,该漏洞更像是垃圾邮件威胁,但让搜索引擎有足够的理由阻止该网站以散布垃圾邮件的指控。

    Pharma Hack的移动部分包括插件和数据库中的后门,可以按照Sucuri博客中的说明进行清理。然而,这些漏洞利用通常是隐藏在数据库中的加密恶意注入的恶意变种,需要彻底的清理过程来修复漏洞。不过,您可以使用推荐的WordPress托管服务提供商和最新的服务器并定期更新您的WordPress安装、主题和插件,从而轻松防止Pharma Hacks。

    Brute-force Login Attempts(暴力登录尝试)

    蛮力登录尝试使用自动化脚本来利用弱密码并获得对您网站的访问权限。两步验证、限制登录尝试、监控未经授权的登录、阻止IP和使用强密码是防止暴力攻击的一些最简单和高效的方法。但不幸的是,许多WordPress网站所有者未能执行这些安全措施,而黑客很容易在一天内使用暴力攻击破坏多达30,000个网站

    Malicious Redirects(恶意重定向)

    恶意重定向使用FTP、SFTP、wp-admin和其他协议在WordPress安装中创建后门,并将重定向代码注入网站。重定向通常以编码形式放置在您的 .htaccess文件和其他WordPress核心文件中,将网络流量引导至恶意站点。我们将在下面的WordPress安全步骤中介绍一些可以防止这些问题的方法。

    跨站脚本 (XSS)

    跨站点脚本 (XSS) 是指将恶意脚本注入到受信任的网站或应用程序中。攻击者使用它在不知情的情况下向最终用户发送恶意代码,通常是浏览器端脚本。目的通常是获取cookie或会话数据,甚至可能重写页面上的HTML。

    根据WordFence的说法,跨站脚本漏洞是WordPress插件中最常见的漏洞。

    Denial of Service

    可能是其中最危险的一个,拒绝服务 (DDoS)漏洞利用代码中的错误和错误来淹没网站操作系统的内存。黑客通过DDoS攻击利用过时且有漏洞的WordPress软件版本,入侵了数百万个网站并赚取了数百万美元。尽管出于经济动机的网络犯罪分子不太可​​能以小公司为目标,但他们往往会破坏过时的易受攻击的网站,以创建僵尸网络链来攻击大型企业。

    即使是最新版本的WordPress软件也无法全面防御备受瞩目的DDoS攻击,但至少可以帮助您避免陷入金融机构与老练网络犯罪分子之间的交火中。不要忘记2016年10月21日。这是互联网因DNS DDoS攻击而瘫痪的日子。

    WordPress安全指南 2022

    根据互联网实时统计,每天有超过100,000个网站被黑客入侵。这就是为什么花一些时间阅读以下关于如何更好地加强WordPress安全性的建议如此重要的原因。

    WordPress网站每天都被黑客入侵

    WordPress网站每天都被黑客入侵

    随着WordPress平台的变化和新漏洞的出现,我们将确保及时更新这篇文章的相关信息。

    1. 安全的WordPress托管
    2. 使用最新的PHP版本
    3. 聪明的用户名和密码
    4. 最新版本
    5. 锁定WordPress后台
    6. 双重身份验证
    7. HTTPS – SSL证书
    8. 强化wp-config.php
    9. 禁用XML-RPC
    10. 隐藏WordPress版本
    11. HTTP安全标头
    12. WordPress安全插件
    13. 数据库安全
    14. 安全连接
    15. 文件和服务器权限
    16. 在仪表板中禁用编辑
    17. 防止盗链
    18. 始终进行WordPress备份
    19. DDoS防护

    1. 安全的WordPress托管

    谈到WordPress安全性,不仅仅是锁定您的网站,尽管我们将在下面为您提供有关如何做到这一点的最佳建议。您的WordPress主机还负责Web服务器级别的安全性。

    选择一个您可以信任的主机非常重要。或者,如果您在自己的VPS上托管WordPress,那么您需要具备自己做这些事情的技术知识。

    WordPress安全指南:19个步骤让您的WordPress安全防线坚如磐石-5

    安全的WordPress托管

    服务器加固是维护完全安全的WordPress环境的关键。它需要多层硬件和软件级别的安全措施来确保托管WordPress站点的IT基础架构能够防御物理和虚拟的复杂威胁。

    因此,托管WordPress的服务器应使用最新的操作系统和(安全)软件进行更新,并彻底测试和扫描漏洞和恶意软件。

    在服务器上安装WordPress之前,服务器级防火墙和入侵检测系统应该到位,即使在WordPress安装和网站建设阶段也能得到很好的保护。但是,机器上安装的每个旨在保护 WordPress 内容的软件都应该与最新的数据库管理系统兼容,以保持最佳性能。服务器还应配置为使用安全网络和文件传输加密协议(例如SFTP而不是FTP),以隐藏敏感内容免受恶意入侵者的侵害。

    托管服务器架构示例

    托管服务器架构示例

    2.使用最新的PHP版本

    PHP是您的WordPress网站的支柱,因此在您的服务器上使用最新版本非常重要。PHP的每个主要版本通常在发布后的两年内都得到完全支持。在此期间,会定期修复错误和安全问题并进行修补。截至目前,在PHP 7.1或更低版本上运行的任何人都不再拥有安全支持,并且面临未修补的安全漏洞。

    支持的PHP版本

    支持的PHP版本

    你猜怎么着?根据官方WordPress Stats页面,截至撰写本文时,超过57%的WordPress用户仍在使用PHP 5.6或更低版本。如果将此与PHP 7.0结合使用,则高达77.5%的用户当前正在使用不再受支持的PHP版本。那太可怕了!

    有时,企业和开发人员确实需要时间来测试并确保与他们的代码兼容,但他们没有借口在没有安全支持的情况下运行。更不用说在旧版本上运行的巨大性能影响了。

    WordPress PHP版本统计

    WordPress PHP版本统计

    不知道您当前使用的是哪个版本的PHP?大多数主机通常将其包含在您网站的标头请求中。一种快速检查方法是通过Pingdom运行您的站点。单击第一个请求并查找X-Powered-By参数。通常,这将显示您的Web服务器当前使用的PHP版本。但是,出于安全原因,某些主机会删除此标头。部分服务器默认会删除此标头以确保您的网站安全。

    在Pingdom中检查PHP版本

    在Pingdom中检查PHP版本

    在宝塔面板,您甚至可以通过仪表盘中的按钮在PHP版本之间切换。

    宝塔面板切换PHP版本

    宝塔面板切换PHP版本

    如果您在使用cPanel的WordPress主机上,通常可以通过单击软件类别下的“PHP Select”在PHP版本之间切换。

    cPanel PHP版

    cPanel PHP版

    3.使用聪明的用户名和密码

    令人惊讶的是,加强WordPress安全性的最佳方法之一就是简单地使用巧妙的用户名和密码。听起来很容易对吧?好吧,看看SplashData的2019年全年最常被盗密码的年度列表(按受欢迎程度排序)。

    • 123456
    • password
    • 123456789
    • 12345678
    • 12345
    • 111111
    • 1234567
    • sunshine
    • qwerty
    • iloveyou

    没错!最受欢迎的密码是“123456”,其次是一个惊人的“密码”。

    强制使用安全的WordPress密码

    强制使用安全的WordPress密码

    核心WordPress的wp_hash_password 函数使用phpass密码散列框架和八次基于MD5的散列。

    一些最好的安全性从基础开始。Google对如何选择强密码有一些很好的建议。或者,您可以使用强密码生成器等在线工具。您可以在此处了解有关如何更改WordPress密码的更多信息。

    为每个网站使用不同的密码也很重要。存储它们的最佳方式是本地存储在计算机上的加密数据库中。KeePass是一个很好的免费工具。如果您不想走这条路,还有在线密码管理器,例如1PasswordLastPass。即使您的数据安全地托管在云中,这些通常也更安全,因为您没有在多个站点上使用相同的密码。它还可以防止您使用便签。

    就您的WordPress安装而言,您永远不应该使用默认的“admin”用户名。为管理员帐户创建一个唯一的WordPress用户名,并删除“admin”用户(如果存在)。您可以通过在仪表盘的“用户”下添加一个新用户并为其分配“管理员”配置文件(如下所示)来执行此操作。

    WordPress管理员角色

    WordPress管理员角色

    为新帐户分配管理员角色后,您可以返回并删除原来的“管理员”用户。确保在单击删除时选择“将所有内容归于”选项并选择新的管理员配置文件。这将指定此人作为这些文章的作者。

    将所有内容归于管理员

    将所有内容归于管理员

    您还可以使用以下命令在phpMyAdmin中手动重命名您当前的管理员用户名。确保在编辑表格之前备份您的数据库。

    UPDATE wp_users SET user_login = ‘newcomplexadminuser’ WHERE user_login = ‘admin’;
    UPDATE wp_users SET user_login = ‘newcomplexadminuser’ WHERE user_login = ‘admin’;
    UPDATE wp_users SET user_login = 'newcomplexadminuser' WHERE user_login = 'admin';

    4. 始终使用最新版本的WordPress、插件和主题

    加强WordPress安全性的另一个非常重要的方法是始终保持最新状态。这包括WordPress核心、插件和主题(来自WordPress插件库和高级版)。这些更新是有原因的,很多时候这些包括安全增强和错误修复。我们建议您阅读我们关于WordPress自动更新如何工作的深入指南。

    让WordPress保持最新状态

    让WordPress保持最新状态

    不幸的是,数以百万计的企业运行着过时版本的WordPress软件和插件,但仍然相信他们正走在商业成功的正确道路上。他们列举了不更新的原因,例如“他们的站点将崩溃”或“核心修改将消失”或“插件 X 无法工作”或“他们只是不需要新功能”。

    事实上,网站崩溃主要是因为旧 WordPress 版本中的错误。WordPress团队和了解所涉及风险的专家开发人员从不推荐核心修改。WordPress更新主要包括必备的安全补丁以及运行最新插件所需的附加功能。

    您是否知道据报道 插件漏洞占黑客已知入口点的55.9% ?这就是WordFence在一项研究中发现的,他们采访了1,000多名WordPress网站所有者,这些网站所有者都是攻击的受害者。通过更新您的插件,您可以更好地确保您不是这些受害者之一。

    被黑的WordPress 网站

    被黑的WordPress 网站

    还建议您只安装受信任的插件。WordPress插件库中的“特色”和“流行”类别可能是一个很好的起点。或者直接从开发者网站下载。我们强烈反对使用无效的WordPress插件和主题。

    首先,您永远不知道修改后的代码可能包含什么。这很容易导致您的网站被黑客入侵。不为高级 WordPress 插件付费也无助于整个社区的发展。我们需要支持开发人员。

    以下是正确删除WordPress主题的方法。

    您可以使用像VirusTotal这样的在线工具 来扫描插件或主题的文件,以查看它是否检测到任何类型的恶意软件。

    病毒总数

    病毒总数

    如何更新WordPress核心

    有几种简单的方法可以更新您的WordPress安装。

    要更新WordPress核心,您可以单击WordPress仪表盘中的“更新”,然后单击“立即更新”按钮。

    更新WordPress核心

    更新WordPress核心

    您还可以通过下载最新版本并通过SFTP上传来手动更新WordPress。

    重要的!如果操作不正确,覆盖错误的文件夹可能会破坏您的网站。如果您对此感到不自在,请先咨询开发人员。

    请按照以下步骤更新现有安装

    1. 删除旧的wp-includeswp-admin目录。
    2. 上传新的wp-includeswp-admin目录。
    3. 将新文件夹中的单个文件上传wp-content到现有wp-content文件夹,覆盖现有文件。不要删除您现有的wp-content文件夹。不要删除现有wp-content目录中的任何文件或文件夹(被新文件覆盖的文件或文件夹除外)。
    4. 将新版本根目录中的所有新松散文件上传到您现有的WordPress根目录。

    如何更新WordPress插件

    更新WordPress插件与更新WordPress核心的过程非常相似。单击WordPress仪表盘中的“更新”,选择要更新的插件,然后单击“更新插件”。

    更新WordPress插件

    更新WordPress插件

    同样,您也可以手动更新插件。只需从插件开发人员或WordPress插件库中获取最新版本并通过FTP上传,覆盖目录中的现有插件 /wp-content/plugins

    同样重要的是要注意,开发人员并不总是让他们的插件保持最新。WP Loop的团队对存储库中有多少WordPress插件没有跟上当前的WordPress核心进行了很好的分析。 根据他们的研究 ,插件库中将近50%的插件在2年多的时间里没有更新

    这并不意味着该插件不适用于当前版本的WordPress,但建议您选择积极更新的插件。过时的插件更有可能包含安全漏洞。

    img src:WP循环

    img src:WP循环

    在插件方面使用您的最佳判断。查看“上次更新”日期和插件有多少评分。如下例所示,这个已经过时并且评论很差,所以我们很可能会建议远离它。WordPress在大多数一段时间未更新的插件顶部也有一个警告。

    评分不佳的旧WordPress插件

    评分不佳的旧WordPress插件

    还有很多资源可以帮助您掌握最新的WordPress安全更新和漏洞。请参阅下面的一些:

    WordPress安全档案

    WordPress安全档案

    5. 锁定您的WordPress管理后台

    有时,流行的WordPress隐蔽安全策略对于普通的在线业务和WordPress网站来说是适当有效的。如果您让黑客更难找到某些后门,那么您受到攻击的可能性就会降低。锁定您的WordPress管理后台并登录是增强安全性的好方法。两种很好的方法是首先更改您的默认wp-admin登录URL并限制登录尝试。

    如何更改您的WordPress登录URL

    默认情况下,您的WordPress站点的登录URL是 domain.com/wp-admin。问题之一是所有的机器人、黑客和脚本都知道这一点。通过更改URL,您可以减少自己的目标并更好地保护自己免受暴力攻击。这不是万能的解决方案,它只是一个小技巧,绝对可以帮助保护您。

    要更改您的WordPress登录 URL,我们建议使用免费的WPS Hide login插件或高级Perfmatters插件。这两个插件都有一个简单的输入字段。请记住选择一些独特的东西,这些东西不会出现在机器人或脚本可能会尝试扫描的列表中。

    使用Perfmatters隐藏WordPress登录URL

    使用Perfmatters隐藏WordPress登录URL

    如何限制登录尝试

    虽然上述更改管理员登录URL的解决方案可以帮助减少大多数错误登录尝试,但设置限制也非常有效。免费的Cerber Limit Login Attempts插件是轻松设置锁定持续时间、登录尝试以及IP白名单和黑名单的好方法。

    限制WordPress中的登录尝试

    限制WordPress中的登录尝试

    如果您正在寻找更简单的WordPress安全解决方案,另一个不错的选择是免费的Login Lockdown插件。登录锁定记录每次失败登录尝试的IP地址和时间戳。如果在短时间内从同一IP范围内检测到超过一定次数的尝试,则对该范围内的所有请求禁用登录功能。并且完全兼容我们上面提到的WPS Hide登录插件。

    锁定WordPress

    锁定WordPress

    如何添加基本HTTP身份验证(htpasswd保护)

    锁定管理员的另一种方法是添加HTTP身份验证。这需要用户名和密码才能访问WordPress登录页面。注意:这通常不应在电子商务网站或会员网站上使用。但这可能是防止机器人访问您的网站的一种非常有效的方法。

    .htpasswd身份验证提示

    .htpasswd身份验证提示

    Apache

    如果您使用的是cPanel主机,您可以从其控制面板启用受密码保护的目录。要手动设置,您首先需要创建一个 .htpasswd文件。您可以使用这个方便的生成器工具。然后将文件上传到你的wp-admin文件夹下的一个目录,例如:

    home/user/.htpasswds/public_html/wp-admin/htpasswd/
    home/user/.htpasswds/public_html/wp-admin/htpasswd/
    home/user/.htpasswds/public_html/wp-admin/htpasswd/

    然后使用以下代码创建一个.htaccess文件并将其上传到您的/wp-admin/目录。确保更新目录路径和用户名。

    AuthName “Admins Only”
    AuthUserFile /home/yourdirectory/.htpasswds/public_html/wp-admin/htpasswd
    AuthType basic
    require user yourusername
    AuthName “Admins Only”
    AuthUserFile /home/yourdirectory/.htpasswds/public_html/wp-admin/htpasswd
    AuthType basic
    require user yourusername
    AuthName "Admins Only"
    AuthUserFile /home/yourdirectory/.htpasswds/public_html/wp-admin/htpasswd
    AuthType basic
    require user yourusername

    这样做的一个警告是它会破坏您网站前端的AJAX (admin-ajax)。这是某些第三方插件所必需的。因此,您还需要将以下代码添加到上述 .htaccess文件中。

    <Files admin-ajax.php>
    Order allow,deny
    Allow from all
    Satisfy any
    </Files>
    <Files admin-ajax.php>
    Order allow,deny
    Allow from all
    Satisfy any
    </Files>
    <Files admin-ajax.php>
    Order allow,deny
    Allow from all
    Satisfy any
    </Files>

    Nginx

    如果您正在运行Nginx,您还可以使用HTTP基本身份验证来限制访问。看看这个教程

    启用后,您的WordPress网站将需要身份验证才能访问它。您可以随时更改凭据或在不再需要时将其禁用。

    锁定URL路径

    如果您使用的是Cloudflare或Sucuri等Web应用程序防火墙 (WAF),它们也有办法锁定URL路径。本质上,您可以设置一个规则,以便只有您的IP地址才能访问您的WordPress管理员登录URL。同样,这通常不应在电子商务网站或会员网站上使用,因为它们也依赖于访问您网站的后端。

    • Cloudflare在其Pro和更高级别帐户中具有锁定URL功能。您可以为任何URL或路径设置规则。
    • Sucuri具有黑名单URL路径功能。然后,您可以将自己的IP列入白名单。

    6. 利用双重身份验证

    当然,我们不能忘记两因素身份验证!无论您的密码有多安全,都存在被他人发现的风险。双因素身份验证涉及一个两步过程,在该过程中,您不仅需要密码登录,还需要第二种方法。它通常是文本 (SMS)、电话或基于时间的一次性密码 (TOTP)。在大多数情况下,这可以100%有效地防止对您的WordPress网站的暴力攻击。为什么?因为攻击者几乎不可能同时拥有您的密码和手机。

    关于双因素身份验证,实际上有两个部分。第一个是您在网络托管服务提供商处拥有的帐户和/或仪表板。如果有人可以访问它,他们可能会更改您的密码、删除您的网站、更改DNS记录以及各种可怕的事情。

    双因素身份验证的第二部分与您的实际WordPress安装有关。为此,我们推荐几个插件:

    其中许多都有自己的身份验证器应用程序,您可以在手机上安装:

    安装和配置上述插件之一后,您通常会在WordPress登录页面上有一个额外的字段来输入您的安全代码。或者,使用Duo插件,您首先使用您的凭据登录,然后需要选择一种身份验证方法,例如Duo Push、呼叫或密码。

    这种方法可以很容易地与更改您的默认登录URL相结合,我们之前已经讨论过。因此,您的WordPress登录URL不仅只有您知道,而且现在需要额外的身份验证才能进入。

    WordPress两因子身份验证器页面

    WordPress两因子身份验证器页面

    因此,请确保利用两因素身份验证,这可能是增强WordPress安全性的一种简单方法。

    7. 使用HTTPS进行加密连接 – SSL证书

    加强WordPress安全性的最容易被忽视的方法之一是安装SSL证书并通过HTTPS运行您的网站。HTTPS(安全超文本传输​​协议)是一种允许您的浏览器或Web应用程序安全地连接到网站的机制。一个很大的误解是,如果您不接受信用卡,就不需要SSL。

    好吧,让我们解释一下为什么HTTPS在电子商务之外很重要的几个原因。许多主机,都通过Let’s Encrypt提供免费的SSL证书

    HTTPS加密连接

    HTTPS加密连接

    1. 安全

    当然,HTTPS的最大原因是增加了安全性,是的,这确实与电子商务网站密切相关。但是,您的登录信息有多重要?对于那些运行多作者WordPress网站的人,如果您通过HTTP运行,则每次有人登录时,该信息都会以纯文本形式传递到服务器。HTTPS对于维护网站和浏览器之间的安全连接至关重要。这样,您可以更好地防止黑客和/或中间人访问您的网站。

    因此,无论您拥有博客、新闻网站、代理机构等,它们都可以从HTTPS中受益,因为这可以确保不会以纯文本形式传递任何内容。

    2. 搜索引擎优化

    Google已经正式表示HTTPS 是一个排名因素。虽然这只是一个很小的排名因素,但你们中的大多数人可能会利用在SERP中获得的任何优势来击败竞争对手。

    3. 信任和信誉

    根据GlobalSign的一项调查,28.9% 的访问者会在浏览器中寻找绿色地址栏。其中 77% 的人担心他们的数据在网上被截获或滥用。通过看到那个绿色挂锁,客户会立即更加安心,因为他们知道他们的数据更加安全。

    4. 推荐数据

    很多人没有意识到HTTPS到HTTP推荐数据在Google Analytics中被阻止。那么数据会发生什么变化呢?好吧,其中大部分只是与“直接流量”部分混为一谈。如果有人从HTTP转到HTTPS,则仍会通过引荐来源网址。

    5. Chrome警告

    2018年7月24日起,Chrome 68及更高版本开始将所有非HTTPS网站标记为“不安全”。不管他们是否收集数据。这就是为什么HTTPS比以往任何时候都更重要的原因!

    如果您的网站大部分流量来自Chrome,这一点尤其重要。您可以在浏览器和操作系统的受众部分下查看Google Analytics,以便查看您的WordPress网站从Google Chrome获得的流量百分比。谷歌让访问者更清楚地知道您的WordPress网站可能没有在安全连接上运行。

    Chrome不是一个安全的网站

    Chrome不是一个安全的网站

    6. 性能

    由于一个称为HTTP/2的协议,很多时候,那些通过HTTPS运行经过适当优化的站点甚至可以看到速度提高。由于浏览器支持,HTTP/2需要HTTPS。性能的提升有多种原因,例如HTTP/2能够支持更好的多路复用、并行性、Huffman编码的HPACK压缩、ALPN扩展和服务器推送。

    使用TLS 1.3,HTTPS 连接速度更快。

    现在重新考虑HTTPS?查看我们深入的WordPress HTTPS迁移指南,让您快速上手,并在我们的TLS与SSL比较中了解更多信息。

    要在登录和管理您的站点时强制在您和服务器之间建立安全、加密的连接,请将以下行添加到您的wp-config.php文件中:

    define(‘FORCE_SSL_ADMIN’, true);
    define(‘FORCE_SSL_ADMIN’, true);
    define('FORCE_SSL_ADMIN', true);
    

    (建议阅读:如果您使用的是旧TLS版本,您可能需要在Chrome中修复ERR_SSL_OBSOLETE_VERSION通知)。

    8. 强化你的wp-config.php文件

    您的wp-config.php文件就像WordPress安装的核心和灵魂。就WordPress安全性而言,它是您网站上迄今为止最重要的文件。它包含您的数据库登录信息和安全密钥,用于处理 cookie 中的信息加密。以下是您可以采取的一些措施来更好地保护这个重要文件。

    1.移动wp-config.php

    默认情况下,您的wp-config.php文件位于 WordPress 安装的根目录(您的 /publicHTML文件夹)中。但是您可以将其移动到非www可访问的目录。亚伦亚当斯写了一个很好的解释为什么这是有益的。

    要移动您的wp-config.php文件,只需将其中的所有内容复制到另一个文件中即可。然后在您的wp-config.php文件中,您可以放置​​以下代码段以简单地包含您的其他文件。注意:目录路径可能因您的网络主机和设置而异。通常虽然它只是上面的一个目录。

    <?php
    include(‘/home/yourname/wp-config.php’);
    <?php
    include(‘/home/yourname/wp-config.php’);
    <?php
    include('/home/yourname/wp-config.php');

    注意:这可能不适用于某些WordPress主机。这是因为出于安全原因,open_basedir限制不允许在 ~/public目录上方执行PHP 。

    2. 更新WordPress安全密钥

    WordPress安全密钥是一组随机变量,可改进存储在用户cookie中的信息的加密。从WordPress 2.7开始,有4个不同的键:AUTH_KEYSECURE_AUTH_KEY、 LOGGED_IN_KEY和 NONCE_KEY.

    当您安装WordPress时,这些是为您随机生成的。但是,如果您经历了多次迁移(查看我们精选的最佳WordPress迁移插件列表)或从其他人那里购买了网站,那么创建新的WordPress密钥可能会很好。

    WordPress实际上有一个免费工具,您可以使用它来生成随机密钥。您可以更新存储在wp-config.php文件中的当前密钥。

    WordPress安全密钥

    WordPress安全密钥

    阅读有关WordPress安全密钥的更多信息。

    3. 更改权限

    通常,WordPress站点根目录中的文件将设置为644,这意味着文件的所有者可以读取和写入文件,并且该文件的组所有者中的用户可以读取文件,其他所有人都可以读取文件。根据WordPress文档wp-config.php文件的权限应设置为440或400,以防止服务器上的其他用户读取它。您可以使用FTP客户端轻松更改此设置。

    wp-config.php权限

    wp-config.php权限

    在某些托管平台上,权限可能需要不同,因为运行Web服务器的用户没有写入文件的权限。如果您对此不确定,请咨询您的托管服务提供商。

    9. 禁用XML-RPC

    过去几年中, XML-RPC已成为暴力攻击的重要目标。正如Sucuri所提到的,XML-RPC的隐藏特性之一是您可以使用system.multicall方法在单个请求中执行多个方法。这非常有用,因为它允许应用程序在一个HTTP请求中传递多个命令。但也会发生的是,它被用于恶意目的。

    有一些像Jetpack这样的WordPress插件依赖于XML-RPC,但大多数人不需要这个,简单地禁用对它的访问可能是有益的。不确定XML-RPC当前是否在您的网站上运行?Automattic团队的Danilo Ercoli编写了一个名为 XML-RPC Validator的小工具。您可以通过它运行您的WordPress站点以查看它是否启用了XML-RPC。

    WordPress XML-RPC验证器

    WordPress XML-RPC验证器

    要完全禁用此功能,您可以安装免费的Disable XML-RPC插件。或者您可以使用高级perfmatters插件禁用它,该插件还包含Web性能改进。

    10. 隐藏你的WordPress版本

    隐藏您的WordPress版本再次涉及WordPress安全性的主题。其他人对您的WordPress站点配置了解得越少越好。如果他们看到您正在运行过时的WordPress安装,这可能是入侵者的一个欢迎信号。默认情况下,WordPress版本显示在您网站源代码的标题中。同样,我们建议您确保您的WordPress安装始终是最新的,这样您就不必担心这一点。

    源代码中的WordPress版本

    源代码中的WordPress版本

    您可以使用以下代码来删除它。只需将其添加到您的WordPress主题functions.php文件中。

    重要的!如果操作不当,编辑WordPress主题的源代码可能会破坏您的网站。

    function wp_version_remove_version() {
    return ;
    }
    add_filter(‘the_generator’, ‘wp_version_remove_version’);
    function wp_version_remove_version() {
    return ”;
    }
    add_filter(‘the_generator’, ‘wp_version_remove_version’);
    function wp_version_remove_version() {
    return '';
    }
    add_filter('the_generator', 'wp_version_remove_version');

    您还可以使用像 perfmatters这样的高级插件,它允许您一键隐藏WordPress版本,以及对WordPress网站的其他优化。

    使用Perfmatters隐藏WordPress版本

    使用Perfmatters隐藏WordPress版本

    显示WordPress版本的另一个地方是每个WordPress版本中包含的默认文件readme.html(如下所示)。它位于安装的根目录中,domain.com/readme.html. 您可以通过FTP安全地删除此文件。

    自述文件中的WordPress版本

    自述文件中的WordPress版本

    如果您运行的是WordPress 5.0或更高版本,则不再适用,因为版本号不再包含在文件中。

    11. 添加最新的HTTP安全标头

    加强WordPress安全性的另一个步骤是利用HTTP安全标头。这些通常在Web服务器级别配置,并告诉浏览器在处理您的站点内容时如何表现。有许多不同的HTTP安全标头,但以下通常是最重要的标头。

    如果您想了解更多关于HTTP安全标头的信息,KeyCDN有一篇深入说明的文章

    您可以通过启动Chrome devtools并查看您网站的初始响应中的标头来检查您的WordPress网站上当前正在运行哪些标头。以下是一个网站的示例。您可以看到我们正在使用strict-transport-securityx-content-typex-frame-options标头。

    HTTP安全标头

    HTTP安全标头

    您还可以使用Scott Helme提供的免费securityheaders.io工具扫描您的WordPress网站。这将显示您当前在您的站点上有哪些HTTP安全标头。如果您不确定如何实施它们,您可以随时询问您的主机是否可以提供帮助。

    HTTP安全标头扫描

    HTTP安全标头扫描

    注意:同样重要的是要记住,当您实施HTTP安全标头时,它可能会如何影响您的WordPress子域。例如,如果您添加内容安全策略标头并限制域访问,则您还需要添加自己的子域。

    12. 使用WordPress安全插件

    当然,我们必须提及一些WordPress安全插件。有很多优秀的开发人员和公司提供出色的解决方案来帮助更好地保护您的WordPress网站。这是其中的几个。

    部分服务器提供商具有硬件防火墙、主动和被动安全性、按分钟正常运行时间检查和许多其他高级功能,可防止攻击者访问您的数据。

    以下是上述插件的一些典型功能和用途:

    • 创建用户配置文件时生成并强制使用强密码
    • 强制密码过期并定期重置
    • 用户操作记录
    • 轻松更新WordPress安全密钥
    • 恶意软件扫描
    • 两因子身份验证
    • 重新验证码
    • WordPress安全防火墙
    • IP白名单
    • IP黑名单
    • 文件更改日志
    • 监控DNS更改
    • 阻止恶意网络
    • 查看访问者的WHOIS信息

    许多安全插件的一个非常重要的功能包括校验和实用程序。这意味着他们检查您的WordPress安装并查找对WordPress.org提供的核心文件的修改(通过API)。对这些文件的任何更改或修改都可能表明存在黑客攻击。您还可以使用WP-CLI运行您自己的checksum

    请务必阅读我们关于文件完整性监控的详尽指南

    另一个值得一提的优秀插件是WP Security Audit Log插件。 这对于那些在WordPress多站点或只是多作者站点上工作的人来说太棒了。它有助于确保用户的工作效率,并让管理员看到正在更改的所有内容;例如登录、密码更改、主题更改、小工具更改、新文章创建、WordPress更新等。

    这是一个完整的WordPress活动日志解决方案。在撰写本文时,WP Security Audit Log插件已获得超过100,000次活动安装。如果您正在寻找与WordPress多站点兼容的安全解决方案,这是一个绝佳的选择。

    安全审核日志查看器

    安全审核日志查看器

    它还具有额外的高级插件,例如电子邮件通知、用户会话管理、搜索和报告。查看这些额外的WordPress安全插件,它们可以帮助锁定坏人。

    13. 加强数据库安全

    有几种方法可以提高WordPress数据库的安全性。首先是使用一个巧妙的数据库名称。如果您的网站名为排球技巧,默认情况下您的WordPress数据库很可能命名为wp_volleyballtricks. 通过将您的数据库名称更改为更隐蔽的名称,它有助于保护您的网站,使黑客更难以识别和访问您的数据库详细信息。

    第二个建议是使用不同的数据库表前缀。默认情况下,WordPress使用wp_. 将其更改为类似的东西39xw_可能会更加安全。当您安装WordPress时,它会要求提供表前缀(如下所示)。还有一些方法可以更改现有安装的WordPress表前缀。

    WordPress表前缀 – img src: jatinarora

    WordPress表前缀 – img src: jatinarora

    14. 始终使用安全连接

    我们怎么强调使用安全连接的重要性都不为过!确保您的WordPress托管它采取预防措施,例如提供SFTP或SSH。SFTP或安全文件传输协议(也称为 SSH 文件传输协议)是用于文件传输的网络协议。与标准FTP相比,这是一种更安全的方法。

    确保您的家庭路由器设置正确也很重要。如果有人入侵了您的家庭网络,他们可以访问各种信息,包括可能存储您关于WordPress网站的重要信息的位置。以下是一些简单的提示:

    • 不要启用远程管理 (VPN)。典型用户从不使用此功能,通过将其关闭,您可以避免将您的网络暴露给外界。
    • 路由器默认使用192.168.1.1等范围内的IP。使用不同的范围,例如10.9.8.7。
    • 在您的Wifi上启用最高级别的加密。
    • 将您的Wifi列入IP白名单,以便只有拥有密码和特定IP的人才能访问它。
    • 保持路由器上的固件是最新的。

    在公共场所登录您的WordPress网站时,请务必小心。请记住,星巴克不是一个安全的网络!在单击连接之前采取预防措施,例如验证网络SSID。您还可以使用ExpressVPN等第3方VPN服务来加密您的互联网流量并隐藏您的IP地址以防黑客。

    15.检查文件和服务器权限

    安装和Web服务器上的文件权限对于增强WordPress安全性至关重要。如果权限太松,有人可以轻松访问您的网站并造成严重破坏。另一方面,如果您的权限过于严格,这可能会破坏您网站上的功能。因此,全面设置正确的权限非常重要。

    文件权限

    • 如果用户有权读取文件,则分配读取权限。
    • 如果用户有权写入或修改文件,则会分配写入权限。
    • 如果用户有权运行文件和/或将其作为脚本执行,则分配执行权限。

    目录权限

    • 如果用户有权访问识别的文件夹/目录的内容,则分配读取权限。
    • 如果用户有权添加或删除文件夹/目录中包含的文件,则会分配写权限。
    • 如果用户有权访问实际目录并执行功能和命令,包括删除文件夹/目录中的数据的能力,则分配执行权限。

    您可以使用iThemes Security之类的免费插件来扫描您的WordPress网站上的权限。

    WordPress文件权限扫描

    WordPress文件权限扫描

    以下是关于WordPress中文件和文件夹权限的一些典型权限建议。有关更深入的说明,请参阅有关更改文件权限的WordPress Codex文章

    • 所有文件应为644或640。例外:wp-config.php应为440或400,以防止服务器上的其他用户读取它。
    • 所有目录应为755或750。
    • 任何目录都不应该被赋予777,即使是上传目录。

    16.在WordPress仪表盘中禁用文件编辑

    很多 WordPress 网站都有多个用户和管理员,这会使WordPress的安全性更加复杂。一个非常糟糕的做法是授予作者或贡献者管理员访问权限,但不幸的是,这种情况一直都在发生。为用户提供正确的角色和权限非常重要,这样他们就不会破坏任何东西。因此,简单地禁用WordPress中的“外观编辑器”可能是有益的。

    你们中的大多数人可能曾经去过那里。你去外观编辑器中快速编辑一些东西,突然你留下了一个白屏死机。最好在本地编辑文件并通过FTP上传。当然,在最佳实践中,您应该首先在开发站点上测试这样的东西。

    WordPress外观编辑器

    WordPress外观编辑器

    此外,如果您的WordPress网站被黑客入侵,他们可能做的第一件事就是尝试通过外观编辑器编辑PHP文件或主题。这是他们在您的网站上执行恶意代码的快捷方式。如果他们无法从仪表板访问此信息,首先,它可以帮助防止攻击。将以下代码放入您的wp-config.php文件中以删除所有用户的“edit_themes”、“edit_plugins”和“edit_files”函数。

    define(‘DISALLOW_FILE_EDIT’, true);
    define(‘DISALLOW_FILE_EDIT’, true);
    define('DISALLOW_FILE_EDIT', true);
    

    17.防止盗链

    盗链的概念很简单。您在Internet上的某个地方找到一张图片,并直接在您的网站上使用该图片的URL。此图像将显示在您的网站上,但将从原始位置提供。这实际上是盗窃,因为它使用了热链接站点的带宽。这可能看起来没什么大不了的,但它可能会产生很多额外的成本。

    The Oatmeal就是一个很好的例子。《赫芬顿邮报》热链接了他的一幅由多张图片组成的卡通片,并获得了高达1,000美元以上的账单。

    盗链账单

    盗链账单

    Apache防盗链

    要实现Apache服务器的防盗链,只需将以下代码添加到您的.htaccess文件中。

    RewriteEngine on
    RewriteCond %{HTTP_REFERER} !^$
    RewriteCond %{HTTP_REFERER} !^http(s)?://(www.)?yourdomain.com [NC]
    RewriteRule .(jpg|jpeg|png|gif)$ http://dropbox.com/hotlink-placeholder.jpg [NC,R,L]
    RewriteEngine on
    RewriteCond %{HTTP_REFERER} !^$
    RewriteCond %{HTTP_REFERER} !^http(s)?://(www.)?yourdomain.com [NC]
    RewriteRule .(jpg|jpeg|png|gif)$ http://dropbox.com/hotlink-placeholder.jpg [NC,R,L]
    RewriteEngine on
    RewriteCond %{HTTP_REFERER} !^$
    RewriteCond %{HTTP_REFERER} !^http(s)?://(www.)?yourdomain.com [NC]
    RewriteRule .(jpg|jpeg|png|gif)$ http://dropbox.com/hotlink-placeholder.jpg [NC,R,L]

    第二行定义了允许的引荐来源——允许直接链接到图像的站点,这应该是您的实际网站。如果您想允许多个站点,您可以复制此行并替换引荐来源网址。如果你想生成一些更复杂的规则,看看这个htaccess hotlink protection generator

    NGINX防盗链

    为了实现NGINX服务器防盗链,只需将以下代码添加到您的配置文件中。

    location ~ .(gif|png|jpe?g)$ {
    valid_referers none blocked ~.google. ~.bing. ~.yahoo yourdomain.com *.yourdomain.com;
    if ($invalid_referer) {
    return 403;
    }
    }
    location ~ .(gif|png|jpe?g)$ {
    valid_referers none blocked ~.google. ~.bing. ~.yahoo yourdomain.com *.yourdomain.com;
    if ($invalid_referer) {
    return 403;
    }
    }
    location ~ .(gif|png|jpe?g)$ {
    valid_referers none blocked ~.google. ~.bing. ~.yahoo yourdomain.com *.yourdomain.com;
    if ($invalid_referer) {
    return 403;
    }
    }
    

    CDN防盗链

    如果您从CDN提供图像,则设置可能会略有不同。以下是一些流行的CDN提供商的资源。

    18. 始终备份

    备份是每个人都知道他们需要但并不总是采取的一件事。上面的大多数建议都是您可以采取的安全措施,以更好地保护自己。但无论您的网站有多安全,它都永远不会100%安全。因此,您需要备份以防最坏的情况发生。

    大多数托管WordPress托管服务提供商现在都提供备份。

    如果您的主机没有备份,则可以使用一些流行的WordPress服务和插件来自动化该过程。

    WordPress备份服务

    WordPress站点备份服务的月费通常很低,并将您的备份存储在云中。

    WordPress备份插件

    WordPress备份插件允许您通过FTP获取备份或与外部存储源集成,例如Amazon S3、Google Cloud Storage、Google Drive或Dropbox。我们强烈建议使用增量解决方案,以便它使用更少的资源。

    19. DDoS防护

    DDoS是一种DOS攻击,其中多个系统用于针对单个系统导致拒绝服务 (DoS) 攻击。DDoS攻击并不是什么新鲜事——根据Britannica的说法,第一个记录在案的案例可以追溯到2000年初。与入侵您的网站的人不同,这些类型的攻击通常不会损害您的网站,而只会让您的网站瘫痪几个小时或几天.

    你能做些什么来保护自己?最好的建议之一是使用信誉良好的3rd方安全服务,例如Cloudflare 或Sucuri。如果您正在经营一家企业,那么投资他们的高级计划是有意义的。

    来自Cloudflare和Sucuri的DDoS保护

    来自Cloudflare和Sucuri的DDoS保护

    他们先进的DDoS保护可用于缓解各种形式和规模的DDoS攻击,包括针对UDP和ICMP协议的攻击,以及SYN/ACK、DNS放大和第7层攻击。其他好处包括将您置于有助于隐藏您的原始IP地址的代理后面,尽管它不是万无一失的。

    请务必查看我们关于如何阻止DDoS攻击的案例研究。我们的客户有一个运行Easy Digital Downloads的小型电子商务网站,该网站在7天内收到了超过500万次单个页面的请求。该站点通常每天仅产生30-40MB的带宽和数百名访问者。但出乎意料的是,该网站立即达到了每天15-19GB 的数据传输量!这增加了4650%。谷歌分析显示没有额外的流量。所以这不好。

    来自DDoS攻击的高带宽

    来自DDoS攻击的高带宽

    客户在他们的站点上实施了Sucuri的Web应用程序防火墙,所有带宽和请求立即丢弃在站点上(如下所示),此后没有出现过任何问题。因此,如果您遇到此类问题,这绝对是一个很好的投资和节省时间的方法。

    添加了Sucuri Web应用程序防火墙

    添加了Sucuri Web应用程序防火墙

    小结

    如您所见,有多种方法可以加强您的WordPress安全性。使用巧妙的密码、保持核心和插件更新,以及选择安全的托管WordPress主机,这些只是让您的WordPress网站保持正常运行和安全运行的一小部分。对于你们中的许多人来说,您的WordPress网站既是您的业务,也是您的收入,因此花一些时间并尽快实施上述一些安全最佳实践非常重要。

  • WordPress活动日志 – 您应该跟踪的7种事件

    WordPress活动日志 – 您应该跟踪的7种事件

    当您的WordPress网站很小时,很容易密切关注其中发生的一切。然而,随着它的规模和复杂性的增长,它可能变得越来越难以跟上。如果您允许用户在您的站点上注册、运行会员站点或有多个贡献者,则尤其如此。

    无论如何,始终了解您网站上发生的事情至关重要。您可以通过跟踪用户活动来做到这一点,例如内容更改、个人资料更新、登录失败等。当您触手可及此类信息时,您可以快速追踪任何问题的根源并保持严密的安全性。

    在这篇文章中,我们将简要讨论您为什么要跟踪您的WordPress网站的活动。然后,我们将帮助您找出最需要关注的活动类型。

    为什么使用WordPress活动日志至关重要

    活动日志可以帮助您密切关注网站的重要更改。

    如果你的网站只有一个用户——你——应该不会有什么意外。除非您的WordPress网站已被黑客入侵(稍后我们将详细讨论),否则您将进行所有更改和更新。

    WordPress跟踪用户活动

    WordPress跟踪用户活动

    但是,许多站点允许注册的用户不止一个。例如,您可能会鼓励您的访问者注册订阅者帐户。或者,您可能有一个由作家、开发人员、编辑和第三方承包商组成的整个团队来帮助您创建和管理内容。

    无论哪种方式,有这么多人访问您的网站都会导致很多不确定性。找出谁删除了帖子,或者弄清用户资料被更改的原因并不总是那么容易。如果您担心某个特定更改是恶意的,或者您只是想知道它发生的原因,那么您可能没有一个好的方法来继续。

    这就是为什么在您的WordPress网站上跟踪活动如此重要的原因。拥有每个重大更改的活动日志,以及有关更改发生时间和涉及哪些用户的详细信息,可以更轻松地处理意外事件。即使您是您网站上的唯一用户,这种类型的日志也可以帮助您追踪由于成功的黑客攻击而导致的更改来源。

    当然,您不能手动维护活动日志。幸运的是,您可以使用WordPress活动日志插件来自动处理这项工作。您需要做的就是在需要日志包含的信息时查看日志。

    WP Security Audit Log

    市场上最好的插件之一是WP Security Audit Log。您可以在WordPress插件库上下载免费版本。在撰写本文时,它拥有超过70,000次活跃安装。它还由开发人员定期积极更新。

    WP Security Audit Log插件

    WP Security Audit Log插件

    还有一个高级版本(起价为每年 89 美元),它为您提供报告、即时电子邮件警报和搜索等附加功能。但是所有的日志记录功能都是完全免费的。

    配置WP Security Audit Log

    我们在这篇文章中使用了免费版本的WP Security Audit Log。安装后激活后首先看到的是配置向导。

    步骤1

    单击“Start Configuring the Plugin”开始。

    配置WP Security Audit Log插件

    配置WP Security Audit Log插件

    步骤2

    选择“Basic”或“Geek”。

    • Basic:如果您只需要基本的日志记录数据,请选择此选项。
    • Geek:如果您想要插件必须提供的所有数据,请选择此选项。

    您可以在以后随时更改这些设置,但对于此示例,我们将使用“Geek”选项向您展示更多WP Security Audit Log插件。

    WP Security Audit Log插件Geek设置

    WP Security Audit Log插件Geek设置

    步骤3

    接下来,您需要选择保留WP Security Audit Log数据的时间。对于此示例,我们将选择6个月。

    • 6个月(超过6个月的数据将被删除)
    • 12个月(超过12个月的数据将被删除)
    • 保留所有数据。

    您可以稍后更改此设置。但重要的是要注意数据存储在您的WordPress数据库中。虽然它以一种有效的方式完成,但您永远不应该存储比您认为您将使用的更多的数据。对大多数人来说,6个月应该没问题,特别是如果您非常积极主动地解决出现的问题。

    WP Security Audit Log数据保留

    WP Security Audit Log数据保留

    如果您购买WP Security Audit Log的高级版本,您可以将数据保留更长时间,甚至将其存储在外部数据库中。

    步骤4

    下一步是根据需要配置其他访问权限。默认情况下,只有管理员才能访问WordPress活动日志。

    WP Security Audit Log访问

    WP Security Audit Log访问

    步骤5

    在下一个屏幕上,您可以将对象(用户名、角色、IP地址)排除在记录之外。也许您是WordPress网站上的单一管理员,只想查看作者和编辑所做的更改。或者您可能只是想监控登录和帐户注册。无论出于何种原因,您都可以轻松地将自己排除在数据之外。

    WP Security Audit Log排除对象

    WP Security Audit Log排除对象

    就是这样!现在正在记录您的WordPress网站上的所有更改以确保安全。可以在WordPress仪表盘的“Audit Log”菜单中查看WP Security Audit Log的数据和设置。要真正深入了解所有设置,我们建议查看他们的入门文档

    WordPress仪表盘中的审核日志

    WordPress仪表盘中的审核日志

    这篇文章的其余部分将重点介绍您希望包含在日志中的一些不同类型的活动。

    您的WordPress活动日志插件应保留日志的7种更改类型

    即使是最简单的WordPress网站也有很多事情要做。其中一些更改和事件比其他更改和事件更重要(并且更有可能表明潜在的问题或安全漏洞)。

    在本文的其余部分,我们将讨论要在您的网站上跟踪的七项最重要的活动。虽然不是一个详尽的列表,但这些是您绝对希望包含在WordPress活动日志中的项目。

    1. 内容更改
    2. 新用户和已删除用户
    3. 登录尝试失败
    4. 对主题或插件的更改
    5. WordPress核心和设置更改
    6. 用户配置文件调整
    7. 多站点设置中网站和用户的更改

    1. 内容变更

    内容是任何成功网站的核心。至少,您的网站将由一个或多个页面组成,如果您希望它们保持相关性,则应使用新的或修订的信息定期更新这些页面。

    此外,许多WordPress网站经常以文章的形式发布新内容。您可以使用您的网站来运行博客、发布有关您的业务的新闻文章或其他完全内容。一旦您的网站已经存在一段时间,文章的数量就会迅速飙升

    所有这些内容的质量和准确性对于为访问者提供价值、增强您的权威以及确保您的受众信任您所说的话至关重要。这一切都意味着密切关注您的内容至关重要。您需要确保新内容和对现有内容的更改都能很好地反映在您的网站和/或公司上。

    这就是为什么您需要跟踪WordPress中所有与内容相关的更改。这包括:

    • 创建新页面、文章或其他内容类型
    • 更改现有页面或文章的标题、日期、URL、自定义字段或其他关键变量。
    • 现有内容中的修改内容——无论是添加、编辑还是删除。
    • 状态更改,例如已发布或返回草稿形式的文章。

    WP Security Audit Log内容更改

    WP Security Audit Log内容更改

    搜索引擎优化是另一个重要原因,始终关注不断变化的内容。例如,如果热门文章的URL发生变化,带有流量和反向链接,而您不知道,这可能是灾难性的。虽然WordPress具有内置重定向功能,并且会尽最大努力尝试重定向到更新的内容,但这并不总是有效。出于性能原因,您应该始终在服务器级别添加301重定向。

    上述所有更改在活跃的WordPress网站上经常发生,通常不是问题。但是,您应该始终为意外发生做好准备。例如,帖子可能发布得太早,或者页面中的某个部分可能会被删除。在这些情况下,如果您一直在跟踪网站上的内容更改,您将确切地知道谁进行了更改以及何时进行了更改(并且可以很好地找出原因)。

    2. 新用户和移除用户

    正如我们前面提到的,许多WordPress网站最终都会在他们的行列中增加一些用户。这通常是一个蓬勃发展的网站的标志,因为您有更多的人参与并致力于它。

    但是,您需要对网站的用户群保持一定程度的控制。即使您启用了公开注册,您也需要知道谁拥有每个用户帐户以及原因。因此,至少,当用户被添加到您的站点或从您的站点中删除时,您需要意识到这一点。

    WP Security Audit Log用户注册

    WP Security Audit Log用户注册

    跟踪这两项活动都很重要。如果新用户意外地在您的网站上注册,您会想立即了解它。如果您不启用开放注册,这可能是黑客企图的迹象。被删除的用户也是如此——同样,这不是你想要意外发生的事情。

    3. 登录尝试失败

    每个人都必须登录才能访问您的WordPress管理页面——甚至是您。事实上,在保护您的网站仪表板或“客户保留”页面时,您的登录屏幕构成了至关重要的第一道防线。虽然有多种方法可以尝试强制访问您的网站,但大多数攻击者将集中精力尝试通过登录屏幕进入。

    通常,这些尝试在第一次尝试时不会成功。黑客编写的程序会尝试数千种登录组合,直到找到一种有效的组合。因此,当有人试图以这种方式暴力破解您的网站时,跟踪失败的登录尝试可以给您一个警告。

    当然,每个站点偶尔都会出现登录失败的情况。大多数用户不时忘记密码,或拼错凭据。您要查找的是来自同一IP地址的重复失败尝试。如果某个地方的某个人连续多次尝试登录但都失败了,那么他们可能并没有把您的最大利益放在心上。

    幸运的是,如果您通过活动日志跟踪失败的登录,您将知道尝试了多少次、何时以及来自何处。这可以帮助您追踪源头,并找出它是黑客企图还是仅仅是一个持久用户。为了安全起见,您也可以暂时阻止相关IP地址

    WP Security Audit Log登录失败

    WP Security Audit Log登录失败

    当然,您还需要采取其他措施来保护您的WordPress登录屏幕。更改您的WordPress登录URL很简单。您可以做的越多来收紧您网站的“前门”,您就越不需要担心恶意用户强行进入。

    4. 更改主题或插件

    在这一点上,让我们花点时间谈谈WordPress用户角色。每个允许访问您的站点的人都被赋予了特定的角色。虽然有一些插件可以添加额外的选项,但WordPress中的默认角色是AdministratorEditorAuthorContributorSubscriber(以及多站点安装的超级管理员)。

    每个角色都有自己的一组权限——换句话说,就是允许用户采取的行动。例如,管理员可以做任何他们喜欢的事情,而订阅者只能管理他们的个人资料。其他角色介于两者之间。

    这很重要,因为某些操作只有顶级用户才能执行。例如,在常规(非多)站点上,只有管理员可以安装、删除或更新插件和主题。

    由于管理员可以对您的站点进行此类关键更改,因此建议您只有一个具有此访问级别的用户(很可能是您)。从您的站点安装或删除附加组件的能力使用户能够对其功能进行巨大更改,如果他们不小心,甚至可以完全破坏站点。

    这意味着如果其他人正在对插件和主题进行更改,则可能有问题。恶意用户正在执行这些操作(例如,他们试图在您的站点上安装自己的东西),或者已批准用户的权限级别太高。

    WP Security Audit Log更改为主题

    WP Security Audit Log更改为主题

    无论哪种方式,这些都是您需要立即处理的问题。如果您在WordPress活动日志中发现不是您自己制作的网站插件或主题更改,您将能够立即追踪来源。另外,您将确切地看到所做的更改,因此您可以在必要时将其撤消。

    5. WordPress核心和设置更改

    在某种程度上,这些类型的活动与上一节中的活动非常相似。除了安装插件和主题之外,还有许多其他只有管理员才能做的事情。事实上,几乎所有管理员权限都值得在您的站点上进行跟踪。

    然而,最重要的是对核心WordPress平台和网站整体设置的任何更改。应该很清楚为什么这两个类别如此重要。两者都会以非常戏剧性的方式影响您的整个网站。

    例如,对WordPress核心的更改可能会导致与插件、主题和站点的其他部分不兼容。至于设置,如果不小心使用会产生很多问题。一方面,更改您网站的永久链接可能会对其搜索引擎优化 (SEO) 造成严重破坏。还有一些设置可以更改您网站的主页、启用或禁用评论等等。

    WP Security Audit Log-WordPress核心设置

    WP Security Audit Log-WordPress核心设置

    换句话说,只应非常小心地对WordPress核心和您的设置进行更改。因此,您绝对想立即知道您网站的这些元素是否被其他人更改。与上一节一样,这可能意味着您的网站受到攻击,或者某人拥有的权限超出了他们的需要。

    6. 用户资料调整

     

    在您的网站上拥有用户帐户的每个人都至少可以对自己的个人资料进行一些基本更改。但是,用户角色决定了每个人可以执行的活动类型。例如,大多数用户将无法编辑其他人的帐户。更重要的是,只有管理员可以更改用户的角色。

    在繁忙的WordPress网站上看到相当频繁的用户详细信息更改并不少见。但是,仍有一些活动需要注意,包括:

    • 密码、电子邮件和显示名称更改。虽然用户不时更改此信息是正常的(在密码的情况下很聪明),但在短时间内发生异常数量的更改可能表明存在问题。
    • 用户角色更改。当涉及到用户配置文件时,这是要跟踪的头号活动。作为管理员,任何人的用户角色都不应在您不知情的情况下在您的站点上更改。

    WP Security Audit Log用户配置文件调整

    WP Security Audit Log用户配置文件调整

    如果您允许在您的网站上进行公开注册,您将特别希望了解新帐户的异常活动水平。这可能表明该帐户的所有者不是合法用户。

    7. 多站点设置中网站和用户的更改

    之前,我们简要提到了多站点安装。这是WordPress鲜为人知但最有用的功能之一。使用多站点功能,您可以在有组织的网络中运行多个单独但相互连接的网站。

    当您运行多站点设置时,每个站点都是它自己的实体。同时,所有这些都可以通过中央仪表板进行管理。一名或多名超级管理员监督整个网络,对用户、设置、插件和主题做出大规模决策。然后,每个网站都有自己的管理员,他们只能对该特定网站进行更改。

    多站点设置对于保持井井有条和安全尤其具有挑战性。毕竟,您现在要担心多个站点,每个站点都有自己的一组用户。这意味着跟踪每个站点(以及整个网络)上的活动比以往任何时候都更加重要。

    如果您运行多站点网络,以下是您需要特别注意的一些活动:

    • 添加或删除网站。这是最大的。作为超级管理员,您是唯一应该能够创建或删除网站的人——其他用户不应执行此类关键操作。
    • 从站点添加或删除用户。出于前面讨论的相同原因,跟踪注册到网络上每个站点的用户是一个聪明的主意。
    • 更改网络设置。在多站点设置中,您将可以访问带有网络特定选项的特殊屏幕。这些设置影响深远,不应轻易修改。

    使用WordPress多站点网络的活动日志使您能够从所有可能的方向跟踪活动。这使您可以关注每个站点上的用户行为,以及对整个网络所做的更改。

    小结

    对WordPress网站所做的最小更改都会产生显着的效果。一个简单的设置调整可以改变您网站的工作方式,并且安装与您的其他工具不兼容的插件或主题可能会破坏重要功能。这就是为什么,特别是如果你有很多用户,你会想要跟踪你网站上发生的一切。这是安全删除WordPress主题的方法。

    做到这一点的最佳方法之一是获取一个 WordPress activity log,该插件将有关对您网站所做的每项更改的信息编译到一个方便的日志中。此日志应跟踪所有最重要(并且可能存在问题)的更改,例如:

    1. 内容的变化。
    2. 新用户和已删除用户。
    3. 登录尝试失败。
    4. 更改主题或插件。
    5. WordPress核心和设置更改。
    6. 用户资料调整。
    7. 在多站点设置上更改网站和用户。
  • 如何修改WordPress最大上传文件大小限制

    修改WordPress最大上传限制

    较低的WordPress上传限制可阻止您上传大文件,插件和主题。如果您要建立一个拥有大量多媒体资源的网站,那这将是一个很大的障碍。在这种情况下,有必要增加WordPress或服务器(或两者)中的最大上传大小。

    也经常在WordPress交流群里看到站长咨询关于WordPress上传文件大小限制的问题,因此,我们有必要针对WordPress上传大小限制话题撰写一篇文章,以解众惑。

    根据不同的服务器托管提供商和服务器,有很多方法可以解决此问题。我们将在本教程中尽可能全面地介绍设置WordPress最大上传大小限制。

    1. WordPress最大上传限制是多少?
    2. 如何检查WordPress当前最大上传限制
    3. 为什么要增加WordPress最大上传限制?
    4. 增加WordPress最大上传限制的10种方法
    5. 不要编辑 “wp-config.php” 文件
    6. 验证WordPress网站新的最大上传限制

    WordPress最大上传限制是多少?

    将大文件上传到服务器会消耗大量服务器资源。为了防止用户因上传文件造成服务器超时,WordPress默认的最大上传大小通常为4 MB128 MB。通常,服务器托管提供商或者服务器软件在服务器级别设置此限制。

    WordPress还包含定义此限制的常量,但在大多数情况下它们不能覆盖服务器级别的设置。

    服务器默认最大上传文件大小,不同的服务器提供商有不同的设置,一般不会超过128MB。

    要验证这一点,请转到WordPress网站的“媒体库”。在这里,尝试上传超出此最大上传文件大小限制的文件。您会看到一条类似以下内容的错误消息:

    WordPress最大上传限制

    在WordPress中上传大文件时出错

    “超过了站点的最大上传限制”主要有两个原因:安全性和效率。这会阻止站点所有者和其他用户(包括恶意行为者)上传大文件(例如,高分辨率图像,大视频)。

    否则,可能导致网站服务器无法使用,从而使网站无法正常运行。更糟糕的是,它可能会使网站彻底瘫痪!

    如何检查WordPress当前的最大上传限制

    有很多方法可以检查您的WordPress网站当前的最大上传限制,具体如下。

    在媒体库中

    检查网站当前最大上传限制的最便捷的方法是转到WordPress仪表盘,然后从此处转到媒体>媒体库。点击添加新文件按钮以启用媒体上传工具。

    WordPress最大上传文件大小

    WordPress最大上传文件大小

    国外部分服务器托管站点时,最大上传文件大小消息将显示在“选择文件”按钮下方。如果您使用其他网络托管服务提供商,则可能会在此处看到其他限制。

    您也可以直接转到媒体>添加新内容,并在底部看到相同的消息。

    WordPress媒体库最大上传文件大小

    WordPress媒体库中的“最大上传文件大小”

    同样,您可以在此处看到最大128 MB的上传文件大小。

    在站点健康信息中

    WordPress 5.2添加了Site Health Info工具,以帮助您更好地调试WordPress网站。在这里,您几乎可以找到有关服务器和WordPress配置的所有信息。

    由于服务器和WordPress都设置最大上传文件大小,在此界面上有两种方法可以找到最大上传文件大小值。

    首先,您可以在“媒体处理”下拉列表中找到“最大单一上传文件大小”的值。

    站点健康信息面板媒体处理设置

    “站点健康”信息面板中的媒体处理设置

    第二种方法是在“服务器”下拉列表可以看到与您的网站服务器设置相关的信息。找到“上传最大文件大小”的对应值,即你的WordPress的最大上传限制。下面截图的演示站点的最大上传文件大小限制为128 MB

    “站点健康”信息面板中的服务器设置

    “站点健康”信息面板中的服务器设置

    您还可以查看其他PHP常量及其值,例如:

    • PHP post max size定义POST请求的最大上传限制。
    • PHP memory limit定义为PHP分配的内存。应将其设置为等于或大于最大上传限制。否则,上传将失败。

    一般情况下配置越低的虚拟主机,这些选项所设置的值越小。这也是为什么小编常常建议站长尽可能选购VPS作为WordPress网站的服务器,因为允许站长自行配置这些选项的值。

    为什么增加WordPress最大上传限制?

    有许多原因可能导致您需要增加WordPress网站的最大上传文件大小,最常见的原因有:

    • 通过WordPress管理仪表盘安装大型主题或插件。
    • 定期更新WordPress网站内容以保持读者参与度并获得更多回报。这包括定期上传新图像,视频,音频和其他媒体。但是,当您的上传文件有大小限制时,这并不总是可行的。
    • 上传大型视频或图像作为网站的背景或Header。
    • 直接从站点出售数字文件,例如电子书,照片,视频,主题和插件。有时,这些文件高达数百兆字节(或更多)。

    上面我们了解了WordPress最大上传文件大小的基础知识,下面让我们一起深入了解如何修改最大上传限制值。

    增加WordPress最大上传文件大小的10种方法

    我们可以通过多种方法来解决WordPress的最大上传大小问题,下面十种方法将由浅及深,或者由简单到复杂排列。

    1. 联系服务器托管提供商以获取帮助
    2. 在WordPress多站点中增加最大上传文件大小
    3. 更新 “.htaccess” 文件
    4. 创建或修改 “php.ini” 文件
    5. 创建或修改 “.user.ini” 文件
    6. 通过cPanel更改PHP选项
    7. 在Nginx中增加最大上传文件大小
    8. 使用WordPress的 “upload_size_limit” 过滤器
    9. 使用WordPress插件
    10. 通过FTP/SFTP上传文件

    联系服务器托管提供商以获取帮助

    如果您在上传文件文件大小限制方面遇到问题,请联系服务器托管提供商以寻求帮助,这是最快的解决方案之一。增加上传限制是一项技术支持的琐碎任务,因此大多数托管公司可以帮助您快速解决此问题。

    修改服务器或站点配置文件对于不熟悉服务器配置的人们来说始终是一项艰巨的任务。因此,我们建议您首先尝试此方法。

    注:一般虚拟主机,如需要修改WordPress最大上传限制值,可能甚至必须通过联系服务器提供商技术客服来修改。

    在WordPress多站点中增加最大上传文件大小

    如果您正在运行WordPress Multisite网络,则可以修改网络的最大上传文件大小。

    首先,转到“网络管理”仪表板,然后转到“设置”>“网络设置”屏幕。在此处向下滚动,直到找到“上传设置”部分,您将会找到 Max upload file size 字段。

    “网络设置”中的“最大上传文件大小”字段

    “网络设置”中的“最大上传文件大小”字段

    WordPress Multisite中的最大上传文件大小的默认值为1500 KB(〜1.5 MB)。您可以将其更改为更高的值,然后单击“保存更改”按钮。

    注:您不能从此处规避服务器级别的最大上传大小限制。如果您在此处设置的限制高于服务器的最大上传大小限制,则服务器将忽略它。您可以使用上述方法来查找Web服务器的配置。

    “网络设置”中新的“最大上传文件大小”

    “网络设置”中新的“最大上传文件大小”

    本次演示,我们将新的最大上传文件大小设置为131072 KB〜128 MB)。

    您还可以限制上传到多站点网络中单个站点的文件的总大小。一般默认情况下它是禁用的。

    更新 “.htaccess” 文件

    如果您的网站服务器在Apache上运行,则可以更新站点的.htaccess文件以增加WordPress最大上传大小。您可以在WordPress网站的根目录中找到.htaccess文件。

    根据PHP文档,三个PHP指令负责WordPress处理上传的方式,分别是:

    • upload_max_filesize
    • post_max_size
    • memory_limit

    在上面的“站点健康信息”部分中讨论了它们。如果您修改了这三个指令的值以接纳您的文件大小,将会有所帮助。例如,如果您计划上传的最大文件是32 MB,我们建议您进行以下设置:

    • upload_max_filesize = 32M
    • post_max_size = 64M
    • memory_limit = 128M

    注意,所有值都使用M而不是MB。这就是PHP处理其指令的方式。

    上传文件除了文件本身之外,还可以包含其他信息。因此,为所有其他与上传相关的指令提供一些预留的空间是个好主意。您可以阅读“如何解决WordPress内存限制错误(2种方法)”教程,获取更多信息。

    通过FTP/SFTP或服务器提供商的文件管理器访问.htaccess文件。

    如何修改WordPress最大上传文件大小限制-1

    查找“ .htaccess”文件

    使用文本编辑器或代码编辑器打开 .htaccess文件,然后添加以下代码:

    php_value upload_max_filesize 32M
    php_value post_max_size 64M
    php_value memory_limit 128M
    php_value max_execution_time 300
    php_value max_input_time 300
    php_value upload_max_filesize 32M
    php_value post_max_size 64M
    php_value memory_limit 128M
    php_value max_execution_time 300
    php_value max_input_time 300
    php_value upload_max_filesize 32M 
    php_value post_max_size 64M 
    php_value memory_limit 128M 
    php_value max_execution_time 300 
    php_value max_input_time 300

    您可以在上面的代码中注意到另外两个PHP指令:max_execution_timemax_input_time。它们定义服务器在一个PHP任务上花费的时间。您上传的内容越大,花费的时间就越大。您需要将它们的值设置为适合您的用例的数字。

    注:使用上述方法后,您可能会收到500 Internal Server Error。这很可能是因为您的服务器正在CGI模式下运行PHP。在这种情况下,您不能在.htaccess文件中使用以上命令。

    创建或修改 “php.ini” 文件

    php.ini文件中,您可以定义对默认PHP设置的更改。通常,它包含定义文件超时,最大上传大小和资源限制的指令。

    使用SSH或FTP,您可以在WordPress根目录中找到php.ini文件。在某些情况下,您可能无法在此处找到它。不用担心!您可以在站点的根目录中创建一个具有相同名称的新文件。

    创建一个新的php.ini文件

    创建一个新的php.ini文件

    使用代码或文本编辑器,将以下代码添加到现有或新的php.ini文件中:

    upload_max_filesize = 32M
    post_max_size = 64M
    memory_limit = 128M
    upload_max_filesize = 32M
    post_max_size = 64M
    memory_limit = 128M
    upload_max_filesize = 32M 
    post_max_size = 64M 
    memory_limit = 128M

    进行更改后,请不要忘记保存文件。某些主机不允许您通过此方法修改PHP设置。在这种情况下,您可以继续尝试以下解决方案。

    创建或修改 “.user.ini” 文件

    如果服务器托管服务提供商已锁定了全局PHP设置,则他们可能已将服务器配置为使用.user.ini文件而不是php.ini文件。

    php.ini.htaccess文件一样,您可以在网站的根目录中找到.user.ini。如果找不到,则可以在同一位置创建一个新的.user.ini文件。按照前面方法中描述的相同过程创建一个新的 php.ini文件。

    接下来,将以下代码添加到您的.user.ini文件中:

    upload_max_filesize = 32M
    post_max_size = 64M
    memory_limit = 128M
    upload_max_filesize = 32M
    post_max_size = 64M
    memory_limit = 128M
    upload_max_filesize = 32M 
    post_max_size = 64M 
    memory_limit = 128M

    有没有发现,这只是重复了前面的方法,只是文件名不同。

    通过cPanel更改PHP选项

    如果服务器托管提供商使用cPanel控制面板来帮助您管理服务器和站点配置,则可以通过其界面更改最大上传文件的大小。

    首先,请转到cPanel仪表盘,然后在“Software部分下选择“Select PHP Version” 。

    cPanel仪表盘-“选择PHP版本”

    cPanel仪表盘-“选择PHP版本”

    在这里,您可以更改服务器当前PHP版本并启用/禁用许多PHP扩展。单击导航菜单中的“Options链接以转到“PHP Options面板。

    转到cPanel中的“ PHP Options”设置

    转到cPanel中的“ PHP Options”设置

    向下滚动这里修改PHP指令,如值upload_max_filesizepost_max_sizememory_limitmax_execution_time,和max_input_time,您可以在此处可设置的最大值取决于您当前的服务器配置。

    cPanel中的“ PHP选项”

    cPanel中的“ PHP选项”

    如果您对这些值有任何疑问,建议您与托管服务提供商联系。最新的cPanel仪表盘会自动保存更改。但是,如果您使用的是较早的cPanel版本,请确保点击保存按钮以保存更改。

    在Nginx中增加最大上传文件大小

    Nginx是另一个类似于Apache的网络服务器,但它还有很多其他功能。通常,Nginx可以比Apache处理更多的并发请求,从而使其更快。闪电博也是使用Nginx解决方案。

    如果您在Nginx上运行WordPress网站,则需要同时修改php.ininginx.conf文件。我们之前已经处理过前一个文件。后者称为Nginx配置文件。

    在Nginx服务器上,您可以在找到php.ini文件/etc/php/7.4/fpm/php.ini。根据您安装的PHP版本,路径可能会略有不同。

    upload_max_filesize = 64M
    post_max_size = 128M
    upload_max_filesize = 64M
    post_max_size = 128M
    upload_max_filesize = 64M 
    post_max_size = 128M

    您无需在上面的文件设置memory_limit,因为Nginx对它的处理方式有所不同。有关更多信息,您可以查看Stack Overflow这篇文章。保存php.ini文件后,去终端重新启动PHP-FPM,以启用更改:

    sudo service php7.4-fpm restart
    sudo service php7.4-fpm restart
    sudo service php7.4-fpm restart

    同样,重启PHP的指令代码可能会略有不同,具体取决于服务器上安装的PHP版本。

    接下来,使用Nginx的client_max_body_size指令设置新的最大上传大小限制。您需要在nginx.conf文件中声明此指令,您可以在/etc/nginx/nginx.conf找到该文件。

    您可以在http {...}块,server {...}块或location {...}块中声明此指令。

    http块中进行设置会影响此服务器上托管的所有网站/应用。

    http {
    client_max_body_size 128M;
    }
    http {

    client_max_body_size 128M;
    }
    http { 
    ... 
    client_max_body_size 128M; 
    }

    server块中定义它只会影响此服务器托管的特定站点/应用程序。

    server {
    client_max_body_size 128M;
    }
    server {

    client_max_body_size 128M;
    }
    server { 
    ... 
    client_max_body_size 128M; 
    }

    location块定义则仅影响指定的目录(如文件上传目录)。

    location /files {
    client_max_body_size 128M;
    }
    location /files {

    client_max_body_size 128M;
    }
    location /files { 
    ... 
    client_max_body_size 128M; 
    }

    不要忘记保存文件并重新启动Nginx以应用更改,您可以在终端中使用以下命令重启NG:

    sudo service nginx reload
    sudo service nginx reload
    sudo service nginx reload

    部分服务器提供商不允许客户直接访问Nginx配置。但是,可以与支持团队联系更改。

    使用WordPress的 “upload_size_limit” 过滤器

    WordPress 2.5引入了upload_size_limit过滤器,该过滤器过滤php.ini中允许的最大上传大小。甚至WordPress都使用此过滤器来显示允许的最大上传大小,例如在“媒体库”和“站点健康信息”界面中。

    以下是WordPress贡献者Drew Jaynes实际使用的此过滤器的示例。它定义了所有非管理员角色的上传大小限制。

    /**
    * Filter the upload size limit for non-administrators.
    *
    * @param string $size Upload size limit (in bytes).
    * @return int (maybe) Filtered size limit.
    */
    function filter_site_upload_size_limit( $size ) {
    // Set the upload size limit to 10 MB for users lacking the ‘manage_options’ capability.
    if ( ! current_user_can( ‘manage_options’ ) ) {
    // 10 MB.
    $size = 1024 * 10000;
    }
    return $size;
    }
    add_filter( ‘upload_size_limit’, ‘filter_site_upload_size_limit’, 20 );
    /**
    * Filter the upload size limit for non-administrators.
    *
    * @param string $size Upload size limit (in bytes).
    * @return int (maybe) Filtered size limit.
    */
    function filter_site_upload_size_limit( $size ) {
    // Set the upload size limit to 10 MB for users lacking the ‘manage_options’ capability.
    if ( ! current_user_can( ‘manage_options’ ) ) {
    // 10 MB.
    $size = 1024 * 10000;
    }
    return $size;
    }
    add_filter( ‘upload_size_limit’, ‘filter_site_upload_size_limit’, 20 );
    /**
    * Filter the upload size limit for non-administrators.
    *
    * @param string $size Upload size limit (in bytes).
    * @return int (maybe) Filtered size limit.
    */
    function filter_site_upload_size_limit( $size ) {
    // Set the upload size limit to 10 MB for users lacking the 'manage_options' capability.
    if ( ! current_user_can( 'manage_options' ) ) {
    // 10 MB.
    $size = 1024 * 10000;
    }
    return $size;
    }
    add_filter( 'upload_size_limit', 'filter_site_upload_size_limit', 20 );

    上面的代码使用WordPress的 manage_options 功能仅针对非管理员设置此限制。您可以修改代码以定位特定的用户角色或用户ID。

    使用WordPress插件

    并非所有人都喜欢使用SSH或FTP/SFTP来处理代码。如果您不习惯编写或编辑代码,则可以改用WordPress插件。

    WP Maximum Upload File Size插件

    WP Maximum Upload File Size插件

    我们将在此处使用WP Maximum Upload File Size插件。撰写本文时,它是WordPress插件市场中唯一可帮助您完成此操作的最新插件。

    首先,请安装并启用WP Maximum Upload File Size插件。点击WordPress管理后台左侧菜单的“Wp upload limit”,在这里,您可以看到托管提供商和WordPress设置的最大上传文件大小。

    WP最大上传文件大小设置

    WP最大上传文件大小设置

    在这里,您可以看到WordPress设置的最大上传文件大小小于托管服务提供商设置的最大文件大小。因此,您可以通过选择最大上传文件大小并显示下拉菜单来设置更大的上传限制。

    注:如果您要设置的最大上传文件大小上限大于托管服务提供商设置的上限,则无法通过此插件进行操作。为此,您需要联系您的托管服务提供商。

    通过FTP/SFTP上传文件

    不想使用上述所有方法?您还可以通过FTP/SFTP上传大文件。

    使用SFTP上传文件到服务器

    使用SFTP上传文件到服务器

    如果要上传大量文件,这是最快的方法。

    有时,WordPress无法识别通过FTP/SFTP上传的文件。在这种情况下,您可以使用免费插件- Add From Server将上传的文件导入WordPress。

    或者,您可以通过使用WP-CLI导入图像,从命令行直接执行相同操作。wp media import命令允许您从本地文件或URL创建附件。

    不要编辑 “wp-config.php” 文件

    编辑wp-config.php文件不再起作用。之所以在这里提及它是因为我们发现许多网上教程都将其列为修改WordPress最大上传限制的合法方法。

    该方法是通过FTP/SFTP或SSH进入站点的根目录,然后编辑wp-config.php文件。

    查找wp-config.php文件

    查找wp-config.php文件

    建议您将以下代码添加到wp-config.php文件中:

    @ini_set( ‘upload_max_size’ , ’64M’ );
    @ini_set( ‘post_max_size’, ‘128M’);
    @ini_set( ‘memory_limit’, ‘256M’ );
    @ini_set( ‘upload_max_size’ , ’64M’ );
    @ini_set( ‘post_max_size’, ‘128M’);
    @ini_set( ‘memory_limit’, ‘256M’ );
    @ini_set( 'upload_max_size' , '64M' ); 
    @ini_set( 'post_max_size', '128M'); 
    @ini_set( 'memory_limit', '256M' );

    它无法工作,因为您只能使用 ini_set() function来设置属于PHP_INI_ALL可变模式的PHP指令。

    upload_max_sizepost_max_size作为属于PHP_INI_PERDIR多变的模式。您只能通过php.ini.htaccesshttp.conf.user.ini进行设置。

    如果您以前尝试过此方法而没有看到任何结果,那么现在您知道它为什么会失败。

    验证WordPress网站的新的最大上传限制

    最后,我们需要验证WordPress网站中是否实现了新的最大上传文件大小限制。为此,请按照上面讨论的相同步骤检查WordPress中的最大上传文件大小。

    转到WordPress信息中心中的媒体库,然后检查最大上传文件大小限制是否已更改。

    验证“媒体库”中新的最大上传文件大小

    验证“媒体库”中新的最大上传文件大小

    是的,它已经改变了。那是成功的!

    您也可以转到“站点健康”面板,然后在“媒体处理”和“服务器”下拉列表中检查是否相同。

    媒体处理最大上传文件大小

    在“站点健康信息>媒体库”中验证新的最大上传文件大小

    服务器最大上传文件大小

    在“站点运行>状况信息>服务器”中验证新的最大上传文件大小

    小结

    如您所见,在WordPress中修改最大上传限制并不是太复杂。无论您是要构建大量媒体作品集网站还是要安装大型主题,只需知道要在哪里查找以及要使用哪些命令或工具即可。

    在大多数情况下,与您的托管服务提供商联系就足够了。但是,如果您遇到麻烦的主机,我们将向您展示一些替代方法,您可以在迁移到更好的主机之前尝试一下。

    上述有没有涵盖了所有你所需要的内容吗?您是否也曾经遇到了上载文件大小限制的情况,然后你是如何处理的?留言与我们一起深入交流。

  • WordPress权限:了解它们以及其最佳设置

    WordPress权限:了解它们以及其最佳设置

    您是否试图找出文件和文件夹的正确WordPress权限?还是您首先对WordPress权限的整个概念感到困惑?

    WordPress文件权限对您网站的安全和运行至关重要,因此您必须了解它们。如果您使用的是WordPress托管,您的主机几乎可以肯定已经为您配置了一些东西,但是如果您遇到任何问题,理解这些概念仍然很有帮助。

    因此,无论您从未听说过文件权限,或者您只是在为WordPress寻找正确的文件权限,我们都会在这篇文章中为您介绍。如果您已经熟悉文件权限,可以单击第二个链接直接跳转到WordPress的最佳文件权限。

    1. 什么是文件权限?
    2. WordPress的正确文件权限
    3. 如何快速检查WordPress文件权限
    4. 如何编辑WordPress文件权限

    Tips:这篇文章100%专注于WordPress文件权限以及如何使用它们来保护您的网站。如果您对控制WordPress用户权限更感兴趣,请查看我们的WordPress用户角色和权限文章。

    什么是文件权限?

    简而言之,文件权限控制不同用户如何与您的WordPress站点服务器上的文件进行交互。更具体地说,文件权限控制谁可以读取写入执行文件:

    • 读取:读取文件内容的能力。
    • 写入:更改文件的能力。
    • 执行: “使用”文件的能力(例如执行脚本)。

    什么是用户?

    用户分为三种不同的“类型”:

    • 所有者:文件或目录的指定所有者。
    • 组:拥有文件或直接拥有文件的组的成员。
    • 公共:除文件所有者或组成员之外的所有用户。

    每个文件或文件夹都归特定用户或特定组所有。每个用户可以是多个组的成员,但他们只能拥有一个主要组。

    例如,当您通过SFTP连接到您的站点时,您正在使用服务器上的用户帐户,并且该用户帐户属于一个或多个组,具体取决于您的服务器的配置方式。

    注意:大多数人不需要掌握“用户”的概念,因为您的主机会为您配置所有这些。但是,了解了解文件权限的功能至关重要。如果您在本节中感到有些迷茫,请知道在大多数情况下,您的主机已经为您的服务器环境适当地设置了用户。

    通过文件权限,您可以控制每种类型的用户(所有者、组、公共)可以对服务器上的文件和文件夹执行的操作(读取、写入、执行)。

    一般来说,文件的所有者应该拥有最多的权限;属于同一组的用户将拥有相同或更少的权限;公共用户将拥有与组相同或更少的权限:

    所有者 > 组 > 公共

    文件权限的概念与WordPress角色和权限系统非常相似。如果您是网站的管理员,那么您拥有的控制权比编辑者更多。例如,管理员可以安装新插件,但编辑器不能。

    同样,编辑器比您网站的匿名访问者拥有更多的控制权,即使编辑器没有完全管理员的权力。例如,编辑器可以编辑其他人的博客文章并发布新的博客文章,但编辑器不能安装新插件。

    文件权限中的数字是什么意思?

    文件权限由称为权限模式的三位数字表示(例如777440)。

    数字中的每个数字对应于特定用户可以执行的操作:

    • 第一个数字:控制所有者可以做什么。
    • 第二位数字:控制用户中的用户帐户可以做什么。
    • 第三个数字:控制其他人可以做什么(公共)。

    权限模式中的每个数字都是分配给每个操作的数字的总和:

    • 读取: 4
    • 写入: 2
    • 执行: 1

    如果您不想授予任何权限,请使用数字0

    同样,您在权限模式中看到的数字是实体拥有的所有权限的总和。例如,如果所有者可以读取(4) 和写入(2),则权限模式将为6 (4+2)。

    或者,如果所有者拥有所有三个权限,则为7 (4+2+1)。

    因此,777是最宽松的配置。代表着:

    • 第一个数字 – 7 – 所有者可以读取(4)、写入(2) 和执行(1)
    • 第二个数字 – 7 – 组可以读取(4)、写入(2) 和执行(1)
    • 第三个数字 – 7 – 公众可以读取(4)、写入(2) 和执行(1)

    出于这个原因,您几乎永远不想在您的WordPress网站上设置任何权限为777 。我们将在下面详细讨论这一点。

    如果您想尝试一下这个想法,您可以使用chmod计算器工具来查看当您为不同的用户分配不同的权限时数字是如何变化的。

    文件权限中的字母是什么意思?

    虽然您可能最常遇到数字格式,但有时您也会看到由字母和破折号表示的文件权限。

    例如:rwxr–r–

    以下是这种格式的工作原理:

    • r = 读取权限
    • w = 写权限
    • x = 执行权限
    • (连字符)= 无权限

    总共有九个字符——前三个适用于所有者,后三个适用于组,最后三个适用于公众。

    在这种格式中,相当于777将是rwxrwxrwx.

    为什么WordPress文件权限很重要?

    由于文件权限控制不同用户可以对您服务器上的文件执行的操作,因此它们在WordPress安全性中起着至关重要的作用。

    想象一下,如果您将站点的所有文件和文件夹都设置为777。这意味着任何人都可以创建新文件、修改现有文件、删除现有文件、执行脚本等等。人们可以将恶意脚本添加到您的站点并执行它们,这将很快导致各种问题。那将是一场噩梦!

    但是,文件权限是一种平衡行为,如果您限制太多,您的网站也会停止工作。

    例如,如果您将权限设置为000,您的WordPress站点将完全停止运行,因为您的站点甚至无法读取服务器上的任何文件。

    因此,WordPress的最佳文件权限总是介于000(没有人拥有任何权限)和777(每个人都拥有所有权限)之间。

    但是,文件权限也可能很棘手,因为即使在更现实的场景中,您仍然可能会遇到问题。例如,444是您站点的.htaccess文件的一个非常安全的设置。

    但是,如果您确实这样设置,您可能会遇到一些需要能够写入您网站的.htaccess文件的插件的问题(例如WP RocketW3 Total Cache缓存插件)。

    因此,如果您正在使用需要写入权限的插件之一,您可能需要切换到稍微宽松的644甚至666,具体取决于您的 Web 服务器的配置方式。

    为什么需要更改WordPress文件权限?

    简短的回答是大多数人不需要手动更改文件权限

    如果您使用主机的自动安装程序安装了WordPress,那么作为该设置过程的一部分,任何好的主机都应该自动为您设置最佳文件权限。

    因此,如果您使用主机的自动安装程序并且您的WordPress站点运行良好,您可能不需要修改站点的文件权限。

    但是,如果您自己手动安装WordPress,则可能会出现问题。在插件安装和使用过程中,您可能还会遇到文件权限问题,例如上一节中的缓存插件示例。

    WordPress的正确文件权限

    在本节中,我们将讨论WordPress的正确文件权限。然后,如果您需要帮助,我们将在下一节中向您展示如何更改它们。

    首先,重要的是要注意最佳文件权限部分取决于您的托管环境的配置方式。对于一个环境来说是最佳和安全的,对于其他环境不一定是这样。对于使用suEXEC的共享主机尤其如此。

    一般来说,解决这个问题的一个好的经验法则是从最不许可的配置开始,并且只根据需要添加权限以使事情正常运行。例如,在谈论wp-config.php文件时,您会看到从400644的任何值。如果您不确定从哪里开始,可以从400开始,只要您认识到此设置可能会导致服务器配置出现问题,并且如果遇到问题,您可能需要使其更加宽松。

    无论如何,您都不应该将任何权限设置为777(除非您是专家并且有充分的理由这样做)。

    大多数WordPress文件/文件夹的默认文件权限

    一般来说,WordPress的正确文件权限应该如下:

    • 文件: 644
    • 文件夹: 755

    但是,有一些特殊的豁免需要注意:

    • wp-config.php文件
    • .htaccess文件
    • nginx.conf文件

    wp-config.php权限

    您站点的wp-config.php文件是一个超级敏感的文件,其中包含您站点的数据库凭据和许多其他重要信息。

    wp-config.php文件的一个很好的起点是644。但是,您会在此处找到许多其他建议,包括640600。为了更加锁定它,有些人甚至使用444。

    但是,如果您使用444,则可能会导致问题,因为许多WordPress插件依赖于wp-config.php文件的写入权限。

    .htaccess权限

    您站点的.htaccess文件是另一个值得特别注意的重要配置文件。

    .htaccess权限的一个很好的起点是644,这是WordPress Codex推荐的一些开发人员还推荐444。但是,如果您使用444,它可能会限制需要写入.htaccess文件的插件(例如大多数缓存插件)。

    注意:没有.htaccess文件,那可能是因为主机使用Nginx网络服务器来提高性能。.htaccess文件只是Apache网络服务器上的一项功能。

    nginx.conf权限

    相同的.htaccess文件权限也适用于nginx.conf,如果您的主机使用Nginx网络服务器,它是主要配置文件。

    一般地,nginx.conf文件也是使用644 。一些开发人员还推荐444

    如何快速检查WordPress文件权限

    如果您想要一种快速、非技术性的方式来检查您网站的文件权限以查看是否有任何问题,您可以使用WordPress.org上的免费iThemes Security插件。

    您还可以使用FTP或cPanel文件管理器,我们将在下一节中向您展示 – 我们首先只是共享此插件,作为检测潜在问题的快速方法。

    激活插件后,转到Security → Settings并单击File Permissions下的Show Details按钮:

    WordPress中文件权限工具的位置

    WordPress中文件权限工具的位置

    在这里,您将找到您当前的WordPress文件权限以及它们与iThemes Security推荐的文件权限的比较。您可以看到iThemes为wp-config.php文件和nginx.conf.htaccess文件推荐444 .

    但请记住,  444会导致与某些插件发生冲突,因此您可能希望避免使用它。

    现有文件权限与建议的权限设置进行比较

    WordPress中的iThemes安全功能将现有文件权限与建议的权限设置进行比较

    如果您不想在设置后继续使用该插件,我们建议您将其删除。

    如何编辑WordPress文件权限

    现在,让我们谈谈如何在需要时更改WordPress网站的文件权限。您可以使用几种不同的方法——我们将向您展示三种方法:

    • FTP
    • cPanel文件管理器
    • SSH/终端

    FTP/SFTP

    如果您知道如何使用FTP/SFTP连接到您的服务器,那么任何优质的FTP 客户端都应该让您快速更改文件权限。

    我们将向您展示它是如何使用流行的免费和开源客户端FileZilla工作的。

    使用SFTP连接到服务器后,右键单击要编辑的文件/文件夹,然后选择文件权限

    如何在FileZilla中使用FTP更改文件权限

    如何在FileZilla中使用FTP更改文件权限

    然后,您可以使用复选框或直接输入数字:

    如何使用FileZilla输入新的文件权限

    如何使用FileZilla输入新的文件权限

    cPanel文件管理器

    如果您的主机提供cPanel,您可以使用cPanel的文件管理器工具来编辑WordPress文件权限。

    在cPanel文件管理器中,右键单击要编辑的文件或文件夹,然后选择更改权限

    如何使用cPanel文件管理器更改文件权限

    如何使用cPanel文件管理器更改文件权限

    然后,选中相关框以分配权限。当你这样做时,你会在底部看到总数发生变化:

    如何使用cPanel输入新的文件权限

    如何使用cPanel输入新的文件权限

    设置正确的权限,一切顺利!

    命令行

    如果您觉得从命令行工作很舒服,您还可以使用chmod. 我们喜欢使用这个chmod计算器来快速获得适当的权限。

    小结

    正确的WordPress文件权限是创建安全、运行良好的网站的重要组成部分。但是您无需过多担心文件权限,因为如果您使用主机的自动安装工具,大多数主机都会正确配置所有内容。

    但是,如果您是手动安装WordPress,或者您的站点的原始文件权限被某些东西弄乱了,您可能需要编辑站点的文件权限。

    一般来说,WordPress目录权限应该是755,WordPress文件权限应该是644。一些重要的例外情况包括您站点的wp-config.php文件和服务器的.htaccessnginx.conf文件,您可以稍微减少对它们的允许。

    无论如何,请确保您永远不会在实时站点上将文件权限设置为777(即使您知道自己在做什么)。这样做会使您的网站和服务器面临巨大的安全漏洞。

  • 如何轻松备份WordPress网站(3种方法)

    如何轻松备份WordPress网站(3种方法)

    备份您的网站不容忽视。在许多情况下,备份您的WordPress网站可以省去很多麻烦。例如,如果您遇到导致站点中断或更新影响其功能的错误,您将能够回滚已保存的版本。

    恢复WordPress备份可以为您节省数小时的故障排除时间。另外,拥有一个意味着您可以复制您的网站或将其移至新主机。我们甚至会说,如果您没有最近的备份,则应将其添加到待办事项列表的顶部。

    在本文中,我们将准确地向您展示如何做到这一点。我们将讨论您需要备份WordPress网站的哪些部分,并向您展示三种方法,包括手动方法、使用插件及通过您的主机上的功能进行WordPress备份。

    1. WordPress网站备份简介
    2. 何时备份您的WordPress网站
    3. 如何备份WordPress网站(3种方法)

    WordPress网站备份简介

    WordPress网站不仅仅是一个简单的文件集合,您可以将这些文件从一个位置复制并粘贴到另一个位置。如果您问自己,“我需要复制哪些文件来进行WordPress站点备份?” 然后知道你的问题有两个部分的答案:

    1. 存在于WordPress目录中的所有文件
    2. 您的WordPress数据库

    WordPress根目录是您设置为您的网站提供支持的WordPress副本的文件夹。您应该通过文件传输协议 (FTP)安全外壳访问 (SSH)连接到您的服务器, 然后找到名为rootpublicpublic_html的文件夹来访问该目录。

    在某些情况下,该目录还可以包含您网站的名称:

    访问您的WordPress网站的根目录

    访问您的WordPress网站的根目录

    根目录包含从主题到插件和媒体文件的所有内容。它的一些文件包括您的网站如何与其服务器交互的规则、您添加到主题和插件中的新功能等等。

    简而言之,该目录包含使WordPress工作的所有文件。但是,您实际网站的内容驻留在唯一的数据库中。您在下面看到的每个表都存储了WordPress站点的数据:

    一个WordPress数据库及其表

    一个WordPress数据库及其表

    备份数据库涉及导出所有这些表(通常为SQL格式)。然后您导入该文件的内容,您的数据库软件将覆盖现有值。

    如果这还没有多大意义,请不要担心。我们将在以下部分之一中向您展示如何手动备份WordPress网站。如果您不喜欢弄乱数据库或手动复制文件的想法,请使用备份WordPress站点插件。

    本质上,WordPress备份插件会创建站点文件及其数据库的副本(一起或单独)。然后这些插件使您能够选择要“恢复”的备份文件。这意味着用备份文件中的文件和数据库表覆盖现有文件和数据库表。

    如果您使用信誉良好的网络主机,它可能还提供自动站点备份。此功能意味着您不必担心手动创建备份或使用插件,因为您的网络主机会为您完成。它还应该将这些备份存储一段时间以备不时之需。

    何时备份您的WordPress网站

    简短的回答是您应该始终对您的网站进行最近的备份。想象一下今天遇到了一个破坏站点的错误,却不知道如何解决它。

    如果你有一个一天或更短的备份,你可能会没事的。但是,如果它是一周前的,它可能不包括您网站的一些最新更新。一个多月,它可能会丢失您在此期间所做的重要更改。

    问问自己,在不对网站产生负面影响的情况下,您认为可能会丢失多少最近的数据。如果您运行静态站点,偶尔备份应该没问题。但是,对于论坛、在线商店、博客和大多数大型网站,一致的备份是必要的:

    最近的网站备份列表

    最近的网站备份列表

    如果您四处寻找网络托管服务,您会注意到其中许多将每日备份作为重要卖点。如果您选择WordPress托管,您应该至少收到每日备份。

    这似乎有点矫枉过正,但如果它能让您避免丢失一次关键数据,那么增加的价格肯定是值得的——这通常可以忽略不计。许多WordPress插件还使您能够安排备份,如果您使用不包含备份功能的预算共享主机作为交易的一部分,这可以派上用场。

    这给我们带来了手动备份WordPress的显着缺点:您无法自动化该过程。对于如此重要​​的事情,我们建议采用简化的方法,以最大程度地减少某人忘记备份甚至错误丢失一些文件的机会。

    最后一个警告是,在对其进行重大更改、将其移动到新主机或更改站点的域之前,您应该始终备份整个站点。如果您曾经问​​过自己,“如何在更新之前备份我的 WordPress 网站?” 然后继续阅读以下部分以找到最适合您的方法。

    如何备份WordPress网站(3种方法)

    既然我们已经介绍了备份网站的重要性,现在是时候探索如何去做了。让我们看看如何使用四种方法备份WordPress网站。

    1. 如何手动备份WordPress网站

    正如我们之前提到的,备份WordPress网站涉及复制其所有文件并导出其数据库的内容。您可以使用FileZilla等文件传输协议 (FTP) 客户端执行这两项任务中的第一项。

    您的网络主机应为您提供一组凭据,您可以使用这些凭据通过FTP或在我们的示例中为SFTP连接到您的网站。

    使用这些凭据,您将能够连接到您的服务器并找到您的WordPress根目录。在许多情况下,该目录称为public 要开始,请继续复制或下载整个文件夹:

    下载WordPress根目录

    下载WordPress根目录

    下载可能需要一段时间,因为大多数WordPress网站都包含数百或数千个文件。备份完成后,我们建议您将该文件夹重命名为备份日期,然后将其存储在安全位置。它可以让您将整个WordPress网站(包括所有媒体)保存在您的PC或云存储解决方案中。

    这就回答了“如何使用FTP 备份我的WordPress网站?”这个问题。— 这给我们留下了您的数据库。备份该元素的最简单方法是转到您的主机控制面板并查找您的数据库管理软件。

    您需要进入您网站对应的数据的phpMyAdmin它将启动数据库管理器。从左侧菜单中选择您网站的数据库,您应该会看到如下表的列表:

    phpMyAdmin中的WordPress数据库表

    phpMyAdmin中的WordPress数据库表

    接下来,在屏幕顶部的菜单中选择ExportphpMyAdmin会询问您要使用哪种导出方法。Quick选项将自动将您站点的所有表包含在SQL文件中,这正是我们想要的。

    确保在Format下选择SQL 然后单击Go

    从phpMyAdmin导出您网站的表格

    从phpMyAdmin导出您网站的表格

    您的数据库文件应立即下载。而已!

    在这个阶段,您拥有WordPress根目录及其数据库的副本。您可以将站点目录和数据库SQL文件压缩在一起,以备不时之需。

    恢复您的手动备份

    如果您需要恢复手动备份,最好的方法是将备份根文件夹以不同的名称上传到您的服务器(与当前服务器处于同一级别)。目录启动后,您可以删除当前的根文件夹并将备份重命名为其原始值。

    之后,是时候恢复您的数据库备份了。为此,请返回 phpMyAdmin 并找到您站点的数据库。这一次,选择屏幕顶部的Import选项。

    phpMyAdmin将要求您选择要导入的文件并指定其格式:

    通过phpMyAdmin导入数据库文件

    通过phpMyAdmin导入数据库文件

    选择要导入的数据库备份文件,然后单击屏幕底部的执行。导入过程完成后,您将看到一条成功消息。

    在这个阶段,如果您访问您的网站,您的备份将替换其最新版本。如果您恢复备份以解决您的网站问题,它现在应该可以正常工作。

    2. 如何使用备份WordPress插件

    您可以使用很多WordPress备份插件。但是,我们可以将它们分为两大类:

    1. 全站点备份插件:这种类型的插件会生成您网站的完整副本并将其保存以备不时之需。
    2. 增量备份插件:该系列插件仅在您对网站进行更改时生成备份,因此您可以避免占用不必要的服务器存储空间。

    这两种插件的另一个区别是增量备份工具往往要花钱。但是,您可以使用许多免费的全站点备份工具。

    如果您对增量备份插件感兴趣,我们在之前的博客文章中提供了我们最喜欢的备份插件列表。在本节中,我们将向您展示如何使用最流行的免费解决方案之一UpdraftPlus

    UpdraftPlus插件

    UpdraftPlus插件

    大多数WordPress备份插件的工作方式类似,这意味着如果您知道如何使用其中一个,您应该能够找到解决其他同类工具的方法。UpdraftPlus也不例外,您可以使用它在几分钟内创建完整的站点备份。

    要开始使用,请安装并激活插件,然后转到WordPress仪表板中的设置> UpdraftPlus Backups。接下来,单击Backup Now按钮:

    使用UpdraftPlus创建WordPress站点备份

    使用UpdraftPlus创建WordPress站点备份

    如您所见,UpdraftPlus还提供增量备份。但是,该功能仅适用于插件的高级版本,因此我们将在本教程中忽略它。

    单击该按钮后,UpdraftPlus将询问您希望将网站的哪些部分包含在备份中。默认情况下,它们同时拥有您网站的文件及其数据库:

    选择要包含在WordPress备份中的元素

    选择要包含在WordPress备份中的元素

    点击窗口底部的确认按钮,等待插件生成您的备份文件。现在,如果您向下滚动到Existing backups部分,您将看到您最近的备份(现在应该只有一个):

    您现有的WordPress站点备份的列表

    您现有的WordPress站点备份的列表

    UpdraftPlus使您能够单独下载任何备份文件组件,例如其插件、主题、上传文件甚至数据库。您还可以通过单击相应的按钮来删除或恢复备份。

    恢复您的UpdraftPlus备份

    恢复UpdraftPlus备份是一件简单的事情。该插件会询问您要恢复哪些组件,您应该选择所有组件:

    恢复UpdraftPlus WordPress备份

    恢复UpdraftPlus WordPress备份

    您需要确认要继续还原备份。完成后,插件将负责其余的工作。该过程完成后,您的站点将返回到之前的版本。

    简而言之,这就是大多数WordPress备份插件的工作方式。但是,大多数免费工具缺少的一项功能是安排WordPress站点备份,其中使用了以下方法。

    3. 如何通过主机备份您的WordPress网站

    如果您使用信誉良好的网络主机或者通过宝塔管理服务器,它应该为您提供自动备份。但是,这些备份的频率可能会有所不同。例如,在 宝塔面板,您可以跟进实际需要设置每天甚至每小时的自动备份,您可以通过登录您的托管仪表板来访问这些备份。

    但是,这不是我们提供的唯一备份类型。在以下部分中,我们将向您展示如何访问您的自动备份。

    如何通过宝塔面板执行网站文件或数据库备份

    在宝塔面板,您可以设置WordPress备份计划。但是,在进行任何重大更改之前创建手动备份仍然是明智之举。要创建此安全网,请登录您的宝塔仪表盘。然后,单击左侧的“网站”菜单,找到你需要备份的网站对应的备份操作,然后在弹窗中点击“备份站点”。

    在宝塔面板执行网站备案操作

    在宝塔面板执行网站备案操作

    接下来,进行网站数据库备份,选择数据库菜单项。找到你需要备份的站点对应的数据库,点击备份列对应的操作项,然后单击弹窗的备份数据库按钮。

    备份网站数据库

    备份网站数据库

    您也可以通过宝塔面板的计划任务,来创建备份网站或者备份数据库任务,可以设置执行周期,对您的网站文件和数据库按周期定期备份,这是一个非常方便的功能。

    宝塔面板计划任务

    小结

    学习如何备份WordPress网站比您想象的要容易。您可以手动执行此操作,使用插件,甚至让您的虚拟主机负责整个过程。

    WordPress站点备份的最简单和最安全的方法是使用自动化它们的托管服务提供商。在宝塔,我们还可以实现WordPress备份自动化任务。

  • 如何使用密码保护您的WordPress网站

    如何使用密码保护您的WordPress网站

    寻找一种密码保护WordPress的方法?有很多不同的方法可以为您的网站添加密码保护,包括密码保护您的整个WordPress网站、仅保护特定内容,甚至仅保护其他公开内容的一部分。

    其中一些解决方案需要使用插件,而其他解决方案则使用您可以在服务器级别进行的核心WordPress功能或配置。

    在这篇文章中,我们将尝试涵盖尽可能多的不同方法。总的来说,您将学习:

    1. 如何使用密码保护您的整个WordPress网站
    2. 如何使用密码保护目录
    3. 如何使用密码保护文章、页面和WooCommerce产品
    4. 如何使用密码保护某个类别的WordPress文章
    5. 如何密码保护WordPress文章的一部分

    您可以单击上面的任何链接直接跳转到特定方法,或者您可以通读以了解如何使用密码保护您的WordPress网站的所有方法。

    如何使用密码保护您的整个WordPress网站

    如果你想用密码保护你的整个 WordPress 网站,你有两个主要选择:

    • 一个插件
    • 服务器级别的HTTP身份验证

    在这两者中,插件方法对于面向用户的站点来说肯定更加用户友好和更好,而HTTP身份验证是密码保护WordPress登台站点或其他类型的非面向用户站点的有效方法。

    如何使用插件对WordPress网站进行密码保护

    为了对您的整个WordPress网站进行密码保护,我们推荐Ben Huson提供的免费密码保护插件,该插件在WordPress.org上获得了很高的评价和可用。

    安装并激活插件后,您可以转到“设置”→“Password Protected”来配置插件的设置。

    选中Password Protected Status框以启用密码保护并在New Password框中输入所需的密码。

    该插件的另一个好处是它还为您提供了将某些类型的用户/请求以及IP地址列入白名单的选项。如果需要,您可以配置这些:

    如何使用密码保护您的整个WordPress网站

    如何使用密码保护您的整个WordPress网站

    激活它后,任何尝试访问您网站的人都需要在精简版的WordPress登录页面中输入密码:

    全站密码表格

    全站密码表格

    如果您想将登录页面徽标从通用WordPress徽标更改,您可以使用免费的Login Logo插件

    如何使用HTTP身份验证对WordPress网站进行密码保护

    通过基本的HTTP身份验证(又名htpasswd保护),您可以在人们加载您的网站之前添加额外的密码保护层,这就是为什么它是WordPress登台或开发网站的绝佳选择。

    您可以参考教程为您的WordPress网站启用htpasswd保护

    启用后,您的WordPress网站将需要身份验证才能访问它。您可以随时更改凭据或在不再需要时将其禁用。

    .htpasswd身份验证提示

    .htpasswd身份验证提示

    如何使用密码保护目录

    需要密码保护您网站上的目录?也许您有一个位于WordPress安装之外的文件夹,您不希望公众访问该文件夹。

    apache

    要手动设置,您首先需要创建一个 .htpasswd文件。您可以使用这个方便的生成器工具。然后将文件上传到您要保护的目录。

    www/user/public/protecteddirectory
    www/user/public/protecteddirectory
    www/user/public/protecteddirectory

    然后用下面的代码创建一个.htaccess文件,上传到你要保护的目录的路径下。确保更新目录路径和用户名。

    AuthType Basic
    AuthName “restricted area”
    AuthUserFile /www/user/public/protecteddirectory.htpasswd
    require valid-user
    AuthType Basic
    AuthName “restricted area”
    AuthUserFile /www/user/public/protecteddirectory.htpasswd
    require valid-user
    AuthType Basic  
    AuthName "restricted area"  
    AuthUserFile /www/user/public/protecteddirectory.htpasswd  
    require valid-user
    

    Nginx

    如果您正在运行Nginx,您还可以使用HTTP基本身份验证来限制访问。看看这个教程

    如果您使用具有cPanel的提供商进行托管,您可以使用位于“Files”部分下的“Directory Privacy”工具设置受密码保护的目录。

    cPanel目录隐私

    cPanel目录隐私

    如何使用密码保护文章、页面和WooCommerce产品

    如果您想对单个文章、页面或WooCommerce产品进行密码保护,WordPress实际上包含一个内置功能,可帮助您通过其Visibility设置进行设置。

    您将在WordPress编辑器中找到Visibility设置,因此您可以将它用于我们上面提到的每种类型的内容,以及您可能在您的网站上使用的任何其他自定义文章类型

    开始:

    • 打开要添加密码保护的内容的WordPress编辑器。
    • 在右侧边栏中找到Visibility选项。
    • 点击它。
    • 选择Password Protected并输入您要用于解锁文章的密码。

    这是新的WordPress区块编辑器中的样子:

    在区块编辑器中哪里可以找到可见性选项

    在区块编辑器中哪里可以找到可见性选项

    这是旧版经典WordPress编辑器中的样子:

    在哪里可以找到WordPress的可见性设置

    在哪里可以找到WordPress的可见性设置

    发布或更新内容后,系统将提示访问者输入密码,然后才能查看文章。此外,WordPress将在文章标题前添加“受保护”:

    内置WordPress密码保护的工作原理

    内置WordPress密码保护的工作原理

    这种方法的一个很酷的转折是,您实际上可以让人们通过一次输入密码来解锁多个文章。要进行此设置,您需要做的就是在多个文章中重复使用相同的密码。容易,对吧?

    一旦访问者输入一次密码,它会自动解锁所有使用相同密码的内容。但是,如果另一部分内容使用不同的密码,则访问者仍需要输入该唯一密码。

    最后,为了让您了解这种类型的密码保护如何适用于不同的内容,以下是它如何与WooCommerce产品一起使用。您可以看到Visibility控件显示在同一位置:

    如何使用密码保护WooCommerce产品

    如何使用密码保护WooCommerce产品

    如何使用密码保护某个类别的WordPress文章

    作为密码保护单个内容的替代方法,您还可以密码保护整个类别

    这种方法的好处是,它可以让您更轻松地为多个内容添加密码保护,并且对访问者来说也更简单,因为他们只需输入一次密码即可解锁该类别中的所有内容。

    不过,要设置此功能,您需要插件的帮助。我们推荐两种选择:

    1. Password Protected Categories,来自Barn2 Media的付费插件
    2. Access Category Password,WordPress.org上的免费插件

    如何使用Password Protected Categories

    Password Protected Categories的工作原理基本上是将您在上一节中看到的相同“密码保护”功能添加到您的类别中。

    安装并激活插件后,您可以转到文章 → 类别并编辑要添加密码的类别。在底部,您现在将看到用于密码保护单个内容的相同Visibility框。

    选择Password protected并输入您想要的密码。

    一件好事是该插件允许您添加多个密码,每个密码都将解锁该类别。这使您可以为每个人/组提供一个唯一的密码,以便将来在需要时更轻松地删除访问权限:

    如何将密码添加到类别

    如何将密码添加到类别

    保存更改后,每当访问者尝试访问受密码保护的类别中的文章时,都会提示他们输入密码:

    解锁类别的密码表格

    解锁类别的密码表格

    通过转到Settings → Protected Categories,您还可以访问一些额外的设置,让您控制插件的功能。你可以:

    • 设置密码的过期时间(例如,在访问者需要再次输入密码之前内容被解锁多长时间)。
    • 选择是否仍然在您网站的公共区域中显示受保护类别中的内容,或者是否在有人输入密码之前完全隐藏它们。
    • 自定义您在上面看到的登录表单。

    密码保护类别设置

    密码保护类别设置

    如果您经营的是WooCommerce商店,同一开发人员也有一个类似的插件,旨在与WooCommerce一起使用,称为WooCommerce Protected Categories

    如何使用Access Category Password

    Access Category Password可在WordPress.org免费获得。安装并激活它后,您可以转到设置→Access Category Password

    在那里,您可以:

    • 选择要使用的密码。
    • 选择要密码保护的类别。
    • 将某些用户角色列入白名单,以便他们无需输入密码即可查看隐藏类别。
    • 选择是使摘录仍然公开还是隐藏所有内容。
    • 自定义登录页面/密码保护通知。

    Access Category Password设置

    Access Category Password设置

    保存更改后,访问者在尝试访问受限类别中的任何内容时需要输入密码。

    虽然此插件是免费的,但一个缺点是您只能输入一个密码,并且您必须对要密码保护的所有类别使用相同的密码。

    如果您想为每个类别使用不同的密码,那么使用上面的受密码保护的类别插件可能会更好。

    这里的另一个区别是,即使在用户输入密码之前,Access Protected Categories仍然显示文章标题,而上面的Password Protected Categories插件隐藏了标题:

    Access Category Password表单

    Access Category Password表单

    如何密码保护WordPress文章的一部分

    最后,让我们看看如何用密码保护一部分公开的WordPress文章的最具体方法。

    要设置此功能,您可以使用WordPress.org上的免费Passster插件

    安装并激活插件后,转到设置 → Passster以生成用于限制内容的简码。

    输入您想要的密码并选择Generate Password

    Passster简码生成器

    Passster简码生成器

    然后,保存您的更改并复制Passster为您提供的简码:

    复制Passster简码

    复制Passster简码

    然后,将此短代码添加到您要使用密码保护的内容中。此外,编辑“Your content here”占位符并将其替换为您想要密码保护的内容:

    Passster短代码示例

    Passster短代码示例

    发布文章后,以下示例显示了默认密码保护表单的外观:

    Passster登录表单

    Passster登录表单

    要自定义此表单的外观,您可以使用 WordPress Customizer(外观 → 自定义)。

    在WordPress定制器中查找Passster部分。在那里,您将能够自定义表单的文本和颜色:

    WordPress定制器中的Passster样式选项

    WordPress定制器中的Passster样式选项

    概括

    无论您是想限制对整个网站、部分内容的访问,还是介于两者之间的访问权限,您都可以通过多种方式对WordPress进行密码保护。

    选择最适合您的方法,按照我们教程中的步骤操作,并享受新的WordPress密码保护功能。