博客

  • 如何恢复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通常是一个非常简单的过程,但有时您可能会遇到一些问题。以下是我们看到用户遇到的一些常见问题以及如何解决这些问题的链接:

  • 如何使用Stripe Radar预防和减少98%的信用卡欺诈

    如何使用Stripe Radar预防和减少98%的信用卡欺诈

    电子商务和SaaS行业正在蓬勃发展,这已不是什么秘密。网上商店比以往任何时候都多,每天都有成千上万的新企业涌现。世界各地的新服务和产品每天都试图向我们推销一些东西。在过去的10年里,我们的购物行为发生了巨大的变化,今天我们倾向于在线购买几乎所有东西:披萨、耐克鞋、最新的Xbox、小型企业CRM、会计软件,甚至是新的特斯拉Model S。

    您可以在不到一个小时的时间内启动您的WooCommerce商店,您所需要的只是一个域、一个主题、一些插件和一个支付工具。开始您的SaaS业务、销售您的服务、获取经常性收入并将其提升到一个新的水平也比以往任何时候都更容易!

    电子商务店主和数字产品供应商希望分一杯羹,但随着这些行业的不断发展,电子商务/SaaS信用卡欺诈事件也越来越多。如果您是企业主,您可能对这种情况很熟悉,并且一直在寻找新的方法来减少欺诈交易的数量,更好的是,尽可能地防止它们。

    为了确保我们在同一页面上,以下是在线支付欺诈的简要说明:

    在线支付欺诈涉及个人获取他人的信用卡号并使用它进行未经授权的在线购买。个人可能会购买一件物品(或购买数字产品),然后以实际价格的一小部分在网上转售。原始持卡人(在某个时候)会发现这种未经授权的交易,并与他们的银行提出争议(退款)。

    这很令人沮丧,不是吗?我知道你的感受。它们会导致您的业务不断头疼,更重要的是会花费您很多钱。如果您使用Stripe作为您的在线支付渠道,那么这篇文章适合您。

    我将向您展示Stripe Radar如何让您的生活更轻松!借助这种基于机器学习的解决方案,我们能够将信用欺诈减少98%。我们不必再花时间审查有争议的费用和可疑的注册。相信我,这是一种非常好的感觉!让我们深入了解细节。

    这并不奇怪,但数字欺诈的数量正在迅速增加。今天,我们将使用Pymts和Forter在2016年进行的调查中的一些数字。您可以从此链接下载完整的研究。以下是一些最有趣的发现:

    • 2015年第四季度,每1,000笔交易就有27起欺诈企图。
    • 在2016年第一季度,每100美元的交易中约有4.79美元处于风险之中(在2015年第一季度,“仅”为1.89美元)。

    数字欺诈趋势

    数字欺诈趋势(图片来源:Pymts和Forter)

    • 第一季度到第四季度,数字商品的欺诈攻击率翻了四倍多。
    • 第一季度到第四季度,奢侈品的欺诈攻击率几乎翻了一番。
    • 100美元中的7.77美元对数字商品有风险。

    行业欺诈攻击

    行业欺诈攻击(图片来源:Pymts和Forter)

    根据 LexisNexis的研究,美国零售商的年度欺诈成本在2014年达到320亿美元。零售商在2015年损失了大约1.3%的收入,是2014年的两倍多。哎呀,那是一大笔钱。您可以在下面看到2015年每1,000笔交易的攻击量。

    网络欺诈攻击率

    网络欺诈攻击率

    受影响最大的行业是数码产品、服装、电子产品、食品和奢侈品。我们可以看到这些数字很严重,而且在涉及在线支付欺诈时,我们正在谈论大量的收入损失。

    为什么您需要防止信用卡欺诈,为什么它对您的业务不利

    我相信您知道答案,但让我为您总结一下在线欺诈的真正后果以及它如何影响您的业务。

    首先,它不会让您专注于您的业务。如果您的在线商店或SaaS(软件即服务)有大量销售或注册,您将不得不花费大量时间处理欺诈性交易、购买和有争议的费用。您正在经营一家企业,而您无法承担整天处理这些类型的问题的费用。您必须弄清楚如何使其自动化并在它们发生之前阻止它们。

    其次,当您醒来时发现自己因支付处理器暂停了您的帐户而停业时,这可能是毁灭性的。相信我,我知道我在说什么。在我们业务的早期,我们的支付处理商因为一些欺诈性交易而关闭了我们的账户,我们突然陷入了停滞。我们无法收取我们的收入并让新客户注册我们的服务。是的,它很糟糕,但感谢上帝,它很快就解决了。然而,情况并非总是如此。

    第三,也是最重要的一点,退款非常昂贵。电子商务在2016年因退款损失近70亿美元。到2020年,电子商务退款损失预计将激增至310亿美元。以下是一些流行的支付处理器可能会导致退款的费用:

    • PayPal对每次拒付收取20美元。
    • Stripe对每次拒付收取15美元(AKA争议费)。
    • 根据银行的不同,退款可能在15到75美元之间。它加起来很快。

    看看下面的计算,看看单次拒付会对您的业务和盈利能力造成多大影响。当企业成为个人欺诈的目标时,这些成本可能会累加起来,并对您的企业财务产生重大影响!

    盈亏平衡精密模型

    盈亏平衡精密模型

    如果你想使用你自己的数字,你可以在这里模拟计算。好了,介绍到此为止,让我们深入了解Stripe Radar的工作原理以及如何使用它来降低欺诈购买的风险。

    Stripe Radar

    Stripe Radar

    什么是Stripe Radar?它有什么帮助?

    在过去的几年里,Stripe已成为最值得信赖和知名的在线支付处理商。两位爱尔兰企业家John和Patrick Collison于2010年创立了Stripe,从那时起,公司的发展呈指数级增长。Stripe的900多名才华横溢的员工为超过100,000家企业提供支持,每年处理500亿美元的商业交易,是您的企业得到妥善处理的保证。

    目前,我们认为Stripe是个人和企业在线和移动应用程序接受支付的最佳解决方案。在您的在线商店中实施Stripe非常简单,使用他们的代码就像做梦一样(如果PayPal高管正在阅读这篇文章,请向这些人学习如何使您的平台可用……),而且他们拥有对开发人员最友好的解决方案.

    Radar是一款Stripe产品,最初于2016年10月推出

    Radar是一种工具,可帮助您防止欺诈性付款并减少信用卡欺诈,并可选择手动审查可疑付款。Radar的机器学习系统或当它们触发您之前配置的自定义规则时,会自动标记这些可疑付款以供审查。

    今年早些时候,Radar 2.0推出,它具有更多功能和增强的高级机器学习功能,可以捕捉更多的欺诈活动。

    Stripe Radar 2.0

    Stripe Radar 2.0

    Radar的机器学习系统日益智能,这要归功于成千上万的用户正在配置他们的自定义规则并手动阻止可疑付款。雷达并不完美,因为我仍然偶尔会看到明显的欺诈注册,但系统并未自动阻止。但我想强调的是,雷达让我们的生活变得如此轻松,以至于我对他们感激不尽。现在让我们深入了解Radar的功能和自定义规则!

    Stripe Radar中的自定义规则

    我不会详细介绍雷达如何工作的所有技术细节,因为我什至不知道所有细节,除了它基于机器学习系统。Stripe每天管理数千万笔交易,这意味着他们拥有非常庞大的数据池。数以百万计的信用卡详细信息由他们的系统处理,并通过算法进行分析,寻找模式以识别每笔交易并将其标记为安全或欺诈。雷达扫描每笔付款以帮助识别和防止欺诈。但是我们必须为这些算法提供新的动作和信息,以训练它们变得更聪明。这就是Stripe庞大的用户群发挥作用的地方。

    Stripe支付被拒绝

    Stripe支付被拒绝

    如何以及为什么应该手动审查交易

    每次我们手动审查交易并采取某种行动时,我们都会训练Stripe的机器学习算法,使其变得更加复杂。每当您手动查看欺诈活动、查找可疑信息时,都会附上详细信息,清楚地向您显示特定购买或注册是欺诈性的。

    基于大量的人工审查,您应该能够轻松地发现一种模式。然后您很有可能可以设置自定义规则,以便算法能够识别并阻止这些类型的交易。

    付款欺诈

    付款欺诈

    更少的欺诈交易意味着更少的退款和更多的钱在你的口袋里。

    发现欺诈活动

    那么你能做些什么来快速发现欺诈活动呢?好吧,让我们看一下下面的屏幕截图。

    欺诈性用户活动

    欺诈性用户活动

    这就是我们所看到的。一个叫Ranji的尼泊尔人试图用奥地利发行的卡注册一项服务(从尼泊尔到奥地利的距离只有6089公里)。这已经有点可疑了,但是当您看到持卡人的名字不是Ranji而是Caroline时,您现在可以99.9%确定这是欺诈活动,应该阻止并报告。好消息是,Stripe以相当高的成功率捕获了这些活动,而且它们很少导致实际购买。但有时它仍然会发生,如果您发现有很多像这样的奇怪活动,您可以随时配置自定义规则。

    在Stripe Radar中配置自定义规则

    可以在此处找到带有详细说明的雷达规则参考的完整列表 。要创建规则,请选择左侧的“Radar”并选择“Rules”。

    Stripe Radar规则菜单

    Stripe Radar规则菜单

    选择“When should a payment be blocked section”,向下滚动并单击“Add Rule”。

    Stripe Radar添加规则

    Stripe Radar添加规则

    之后,您将看到名为“Add a rule for blocking payments”的弹出窗口。

    Stripe Radar – 添加阻止付款的规则

    Stripe Radar – 添加阻止付款的规则

    这是我们将添加我们的第一个自定义规则的地方。所以我们想要实现的是阻止所有用户位置不等于信用卡原始位置的付款。注意:有时它仍然可能是合法购买,但老实说,奥地利用户在尼泊尔度假期间购买 SaaS 服务有点远(更不用说名称不匹配)。

    假设来自尼泊尔的个人不断尝试进行购买。您需要做的就是找到ISO两个字母的国家/地区代码(这里是完整列表)并将以下规则添加到Radar:

    :card_country: = ‘AT’ AND :ip_country:= ‘NP’
    :card_country: = ‘AT’ AND :ip_country:= ‘NP’
    :card_country: = 'AT' AND :ip_country:= 'NP'

    国家和卡不符合规则

    国家和卡不符合规则

    这条规则具体是做什么的?从现在开始,当拥有尼泊尔IP地址的人试图使用奥地利发行的信用卡进行购物时,Stripe将阻止所有交易。这里还有几个例子:

    如果您想阻止使用法国信用卡从英国进行的付款,请添加以下规则:

    :card_country: = ‘FR’ AND :ip_country: = ‘GB’
    :card_country: = ‘FR’ AND :ip_country: = ‘GB’
    :card_country: = 'FR' AND :ip_country: = 'GB'

    或者,如果有人尝试使用意大利卡购买您的产品,但电子邮件地址不是来自意大利,那么您将添加以下规则:

    :card_country: = ‘IT’ 和 :ip_country:!= ‘IT’
    :card_country: = ‘IT’ 和 :ip_country:!= ‘IT’
    :card_country: = 'IT' 和 :ip_country:!= 'IT'

    如您所见,配置这些规则的可能性是无限的。

    如果您单击“Test Rule”按钮,系统将检查交易历史并查看它们是否可以匹配任何先前的尝试。如果您看到很多最近的付款尝试,并且您已经知道这些是合法购买(假设您认出了客户),您可能不应该激活该规则,因为它会阻止这些有效交易。如果在测试规则后没有任何内容,或者您​​只是看到欺诈尝试,请单击“Add and Enable”,仅此而已。您可以随时轻松地编辑、删除或禁用规则。

    在Stripe Radar中阻止一次性电子邮件

    现在进入下一个有用的规则。欺诈性用户喜欢使用一次性电子邮件地址。那里有很多这样的提供商,您可以在其中购买电子邮件地址,甚至可以批量创建它们。好消息是,您可以通过向Radar添加简单规则来完全阻止这些电子邮件域。假设电子邮件提供商是shadyemail.com。这是您需要添加的规则:

    :email_domain: = ‘shadyemail.com’
    :email_domain: = ‘shadyemail.com’
    :email_domain: = 'shadyemail.com'

    在Stripe Radar中阻止电子邮件地址

    在Stripe Radar中阻止电子邮件地址

    测试规则,然后启用它。结果?没有人可以使用此域(域上的电子邮件地址)进行任何购买。

    在Stripe Radar中拦截IP地址

    如果您发现从特定IP地址收到大量欺诈性注册,您也可以将其添加到Radar。即使在欺诈性购买之后添加它也很有用,因为这样您可以确保Radar将来会拦截它。如果您已找到IP地址(如果您选择特定购买并检查相关日志,则可以在Stripe中找到它),您需要做的就是添加以下规则:

    :ip_address: = ‘123.4.567.899’
    :ip_address: = ‘123.4.567.899’
    :ip_address: = '123.4.567.899'

    在Stripe Radar中拦截IP地址

    在Stripe Radar中拦截IP地址

    测试规则并启用它。

    更有用的Stripe Radar规则

    假设您没有将产品运送到特定国家/地区,或者您不想为该国家/地区的客户提供数字服务。也许您有很多来自这个国家/地区的欺诈性注册,您想简单地阻止它们。对于这个例子,我们使用的是摩洛哥(对不起,伙计们)。以下是您需要添加的规则:

    :ip_country: = ‘MA’
    :ip_country: = ‘MA’
    :ip_country: = 'MA'

    这将阻止来自摩洛哥任何IP地址的所有尝试。

    在Stripe Radar中屏蔽国家

    在Stripe Radar中屏蔽国家

    另一个有用的规则是管理同一客户或同一IP地址在短时间内拒绝和失败的付款尝试。合法客户不应该需要6次尝试进行购买,因为他们通常知道他们的卡详细信息并且有足够的资金来支付它。

    如果正在使用的信用卡被盗,该人通常不知道所有详细信息,因此会不断尝试注册或使用略有不同的详细信息进行购买。在下面的示例中,个人在15分钟内使用了七张不同的信用卡。看起来是合法的,对吧?

    Stripe Radar中的付款尝试失败

    Stripe Radar中的付款尝试失败

    我相信他们会尝试更多,但他们可能会用完信用卡。而且下一张卡有可能会起作用!这就是为什么你应该限制下降。以下是您可以用来限制它们的几个不同属性:

    • 每天拒绝每张卡片号码
    • 拒绝每张卡数小时
    • 每天拒绝每个客户
    • 拒绝每客户每小时
    • 每天拒绝每个IP地址
    • 拒绝每ip地址每小时

    例如,假设我们想要阻止客户在60分钟内尝试购买五次但交易已被银行拒绝的下一次尝试。如果是欺诈者,他们将无法进行第六次购买。如果是合法客户,但由于某种原因,尝试五次还不够,他们总是可以致电银行寻求进一步帮助。以下是您要添加的规则:

    :declines_per_customer_hourly: = 5
    :declines_per_customer_hourly: = 5
    :declines_per_customer_hourly: = 5

    Stripe Radar每小时下降规则

    Stripe Radar每小时下降规则

    您还可以使用以下规则限制过去一小时内从卡中扣款的次数:

    charge_attempts_per_card_number_hourly
    charge_attempts_per_card_number_hourly
    charge_attempts_per_card_number_hourly

    同样,可以在此处找到完整的规则列表。

    一些黄金法则和建议

    1. 始终要求进行CVC检查。这是不费吹灰之力的。如果您不这样做,您将很难管理拒付和欺诈性购买。
    2. 定期检查您的交易。即使您每个月只花一小时检查它们并审查您的交易,您也会获得一些宝贵的见解!
    3. 跟进最新的Stripe Radar功能。Stripe的团队可以让您的日常生活变得更加轻松。您需要做的就是启用一些很棒的功能,您已经为您的业务节省了大量的金钱和时间。
    4. 找到一个平衡点。阻止一名合法客户比允许10次欺诈性注册或购买要好。您可以随时查看现有规则、进行编辑并再次测试它们。不要害怕使用它们。我花费大量时间编写、编辑、禁用和测试规则。我也犯了一些错误,但归根结底,我可以说这绝对是值得的。这是一个学习曲线,但是一旦您熟悉了基础知识及其工作原理,整个审核过程就会变得更加有趣!

    最后

    作为Stripe的客户,您应试图弄清楚如何减少欺诈尝试和注册的数量。花了无数个小时审查每笔恶意交易,试图找到模式。现在,只需将自定义规则添加到Radar以防止未来的尝试一样简单。

    Stripe的算法已经有了很大的改进,即使是在过去的几个月里。他们在Stripe Radar 2.0上做得很棒。与早些年相比, 可以说Stripe的欺诈交易量减少了98%,只需启用一些自定义规则并让他们的算法发挥作用。即使没有我的自定义规则,Stripe现在也能够阻止大多数欺诈尝试。但最好安全地使用它并启用一些经过测试的规则。

    我强烈建议您使用Stripe以及Radar必须提供的所有功能。

  • 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网站既是您的业务,也是您的收入,因此花一些时间并尽快实施上述一些安全最佳实践非常重要。

  • 如何通过IP屏蔽工具, Cloudflare, Nginx或Apache拒绝拦截IP地址

    如何通过IP屏蔽工具, Cloudflare, Nginx或Apache拒绝拦截IP地址

    与不断攻击您网站的机器人、垃圾邮件发送者或黑客打交道?根据严重程度,它可能会对您的访问和带宽产生重大影响,在这种情况下,您可能需要尝试阻止它们。

    大部分云服务器都附带一个免费的IP拒绝工具,可让您拦截特定IP地址和范围访问您的网站。在本文中,我们将介绍可用于拒绝拦截IP地址的几种方法。

    1. 如何识别有问题的IP地址
    2. 如何使用宝塔控制面板拦截IP地址
    3. 如何在Cloudflare中拦截IP地址
    4. 如何在Nginx中拦截IP地址
    5. 如何在Apache中拦截IP地址

    如何识别有问题的IP地址

    WordPress是一个动态 CMS ,这意味着PHP worker按需生成未缓存的页面。由于未缓存的请求需要显着更多的CPU和RAM资源来提供服务(与缓存的请求相比),恶意行为者有可能通过发送大量请求来强制服务器停止响应。

    如果您遇到这种情况,可以帮助减少服务器负载的一种策略是拒绝麻烦的IP地址访问。

    如果您的服务器提供商提供IP访问统计,您可以通过服务器提供商提供的控制面板查看IP访问统计表以识别有问题的IP地址。

    您也可以通过分析服务器访问日志来实施,当然如果您希望通过安装插件来统计访问IP,也是可行的,比如WP Statistics

    如果您发现某个IP地址发出的请求比其他IP多得多(例如5-10倍),您可能需要进一步调查以确定该IP是机器人还是垃圾邮件发送者。检查IP是否恶意的最简单方法是使用诸如CleanTalkSpamhaus之类的reputation检查器。

    如果reputation检查器将IP地址识别为机器人或垃圾邮件发送者 IP,您可以采取进一步措施来阻止该IP。请记住,即使信誉检查器没有将该IP列为恶意IP,也可能只是意味着该IP尚未在其数据库中。

    如果您发现IP导致您的服务器返回HTTP 502错误或完全关闭,则值得测试阻止IP地址是否会使事情变得更好。

    如何使用宝塔面板拒绝拦截IP地址

    宝塔面板提供屏蔽IP工具允许您阻止单个IP地址以及IP地址范围,而无需编辑Web服务器配置文件。

    重要的:屏蔽IP工具是一项强大的功能,如果使用不当,可能会阻止合法服务或个人。

    要在宝塔面板中屏蔽拦截IP地址,请导航至安全,选择屏蔽IP,填入屏蔽IP或者IP段,点击屏蔽按钮即可添加指定IP/IP段至屏蔽列表。

    宝塔面板中的IP屏蔽工具

    宝塔面板中的IP屏蔽工具

    在“将IP地址添加到屏蔽”模式中,您可以将IPV4地址、IPV6地址和CIDR(无类域间路由)IP地址范围添加到阻止列表。CIDR范围可用于屏蔽IP地址的连续范围(例如127.0.0.1到127.0.0.255)。要生成有效的CIDR范围,我们建议使用这样的工具

    以下是一些您可以屏蔽的IP地址示例:

    • IPV4地址 – 103.5.140.141
    • IPV6地址 – 2001:0db8:0a0b:12f0:0000:0000:0000:0001
    • CIDR范围 – 128.0.0.1/32

    如何在Cloudflare中拒绝拦截IP地址

    如果您是Cloudflare用户,您可以使用Cloudflare仪表盘中的“IP Access Rules”工具来屏蔽IP地址和IP范围。

    在Cloudflare仪表盘中,导航到Firewall > Tools

    Cloudflare工具仪表盘

    Cloudflare工具仪表盘

    要创建新的IP访问规则,请添加IP地址,选择“Block”操作,选择“This Website”(如果您希望规则适用于所有Cloudflare域,则选择“All Websites in Account”),然后单击“Add”。

    添加IP访问规则

    添加IP访问规则

    添加访问规则后,它将出现在“IP Access Rules”列表中。在这里,您可以对访问规则进行更改,例如更改操作、添加注释和删除规则。

    Cloudflare仪表盘中的IP访问规则

    Cloudflare仪表盘中的IP访问规则

    除了“Block”动作,Cloudflare还支持“Challenge”、“Allow”和“JavaScript Challenge”。根据您要实现的目标,您可能希望使用这些其他操作之一,而不是“Block”。

    在Cloudflare中拦截IP范围、国家和ASN

    除了单个IP地址,Cloudflare的IP访问规则还支持IP范围、国家名称和ASN(自治系统编号)。

    • 要屏蔽IP范围,请为IP访问规则值指定CIDR范围。
    • 要屏蔽某个国家/地区,请指定其为Alpha-2国家/地区代码
    • 要屏蔽ASN(由单个网络运营商控制的IP列表),请指定以“AS”开头的有效ASN

    如何在Nginx中拒绝拦截IP地址

    如果您的站点是使用Nginx Web服务器自托管的,您可以直接在Web服务器配置中屏蔽IP地址。

    要在Nginx中屏蔽IP地址,请通过SSH连接到您的服务器并使用nano文本编辑器打开Nginx配置文件,如下所示:

    nano /etc/nginx/nginx.conf
    nano /etc/nginx/nginx.conf
    nano /etc/nginx/nginx.conf

    如何使用Nginx屏蔽单个IP地址

    要在 Nginx 中阻止单个 IP(IPV4 或 IPV6)地址,请使用如下deny指令:

    deny 190.60.78.31;
    deny 4b73:8cd3:6f7b:8ddc:d2f9:31ca:b6b1:834e;
    deny 190.60.78.31;
    deny 4b73:8cd3:6f7b:8ddc:d2f9:31ca:b6b1:834e;
    deny 190.60.78.31;
    deny 4b73:8cd3:6f7b:8ddc:d2f9:31ca:b6b1:834e;

    如何使用Nginx屏蔽CIDR IP范围

    要在Nginx中阻止CIDR IP范围,请使用以下指令:

    deny 192.168.0.0/24;
    deny 192.168.0.0/24;
    deny 192.168.0.0/24;

    高级Nginx IP拦截技术

    如果要阻止对特定目录的访问(ed domain.com/secret-directory/),可以使用下面的Nginx指令:

    location /secret-directory/ {
    deny 192.168.0.0/24;
    }
    location /secret-directory/ {
    deny 192.168.0.0/24;
    }
    location /secret-directory/ {
    deny 192.168.0.0/24;
    }

    deny指令接受all一个值。这对于您想要阻止所有 IP 地址访问您的站点的情况很有用。deny all;指令通常与allow – 一起使用- 这使您可以允许特定的 IP 地址同时阻止其他所有内容。

    location /secret-directory/ {
    allow 192.168.0.0/16;
    deny all;
    }
    location /secret-directory/ {
    allow 192.168.0.0/16;
    deny all;
    }
    location /secret-directory/ {
    allow 192.168.0.0/16;
    deny all;
    }

    保存Nginx配置并重新加载Nginx

    使用nano完成配置编辑后,请务必按Ctrl+O保存更改。保存文件后,按Ctrl+X 退出nano。

    要激活新的IP屏蔽规则,您还需要使用以下命令重新加载Nginx配置:

    sudo systemctl reload nginx
    sudo systemctl reload nginx
    sudo systemctl reload nginx

    如何在Apache中屏蔽IP地址

    如果您的站点是使用Apache Web服务器自托管的,您可以直接在Web服务器配置中屏蔽IP地址。要在Apache中屏蔽IP地址,您需要使用.htaccess文件,它允许您将唯一规则应用于特定目录。要在整个站点上应用规则,应将.htaccess文件放在站点的根目录中。

    首先,通过SSH连接到您的服务器,导航到您站点的根目录,然后使用以下命令创建.htaccess文件:

    touch .htaccess
    touch .htaccess
    touch .htaccess

    接下来,使用nano文本编辑器打开.htaccess文件,如下所示:

    nano .htaccess
    nano .htaccess
    nano .htaccess

    屏蔽IP的确切规则取决于您使用的是Apache 2.2还是2.4,因此我们将包含两个版本的规则。编辑.htaccess文件时,请使用Apache版本对应的规则。

    如何使用Apache拦截单个IP地址

    要在Apache中拦截单个IP(IPV4或IPV6)地址,请使用以下规则:

    # Apache 2.2
    order allow, deny
    allow 192.168.0.0
    deny from all
    #Apache 2.4
    Require all granted
    Require not ip 192.168.0.0
    # Apache 2.2
    order allow, deny
    allow 192.168.0.0
    deny from all
    #Apache 2.4
    Require all granted
    Require not ip 192.168.0.0
    # Apache 2.2
    order allow, deny
    allow 192.168.0.0
    deny from all
    #Apache 2.4
    Require all granted
    Require not ip 192.168.0.0

    如何使用Apache屏蔽CIDR IP范围

    要在Apache中拦截IP范围地址,请使用以下规则:

    # Apache 2.2
    order allow, deny
    allow 192.168.0.0/16
    deny from all
    #Apache 2.4
    Require all granted
    Require not ip 192.168.0.0/16
    # Apache 2.2
    order allow, deny
    allow 192.168.0.0/16
    deny from all
    #Apache 2.4
    Require all granted
    Require not ip 192.168.0.0/16
    # Apache 2.2
    order allow, deny
    allow 192.168.0.0/16
    deny from all
    #Apache 2.4
    Require all granted
    Require not ip 192.168.0.0/16

    小结

    根据您的站点配置,有不同的方法可以屏蔽拦截IP地址访问您的站点。如果您是宝塔用户,我们建议使用宝塔自带的IP屏蔽工具。

    如果你使用Cloudflare之类的CDN,则可以使用CDN自带的IP屏蔽规则实现,它允许您创建唯一的IP访问规则来拦截IP地址、范围等。最后,如果前两者您都没在用,您可以直接在您的Web服务器配置文件中实施IP屏蔽拦截规则。

  • 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安装非常安全。然而,仅仅在互联网上生存是不够的。

    这就是文件完整性监控 (FIM) 发挥作用的地方。文件完整性监控工具或插件会监控您站点的文件,并在文件上传、编辑、删除等任何更改时提醒您。

    文件完整性监控可帮助您领先于安全漏洞并识别可能使您的网站遭受黑客攻击的错误。

    在这篇文章中,我们将为您提供文件完整性监控的全面介绍,并解释它如何提高您网站的安全性。我们还将分享一些不同的工具和插件,您可以使用这些工具和插件在您的WordPress网站上实施此安全解决方案。

    1. 文件完整性监控简介
    2. 文件完整性监控的工作原理
    3. 为什么文件完整性监控很重要
    4. 为什么需要对WordPress网站进行文件完整性监控
    5. 两种不同类型的文件完整性监控方法
    6. 可用于保护站点的3种文件完整性监控工具
    7. 开源文件完整性监控工具

    文件完整性监控简介

    在保护和维护网站和服务器等基础设施时,文件完整性监控是关键。该解决方案验证给定环境的完整性,即检查站点文件的内容是否已意外更改。

    您可以使用文件完整性监控来检测操作系统、Web服务器和WordPress等Web应用程序中的文件更改。它甚至可以用于监控基于文件的软件解决方案,例如数据库和配置文件。

    使用文件完整性监控解决方案的组织更有可能及早发现安全漏洞,从而使他们有更好的机会保持在线并阻止任何重大损害。因此,文件完整性监控主要被认为是一种安全解决方案。

    但是,此解决方案也可以实现其他目标。在某些情况下,它可以监控以下方面的软件和操作系统配置更改:

    • 在服务器上打开端口配置。
    • Web服务器和网络服务配置。
    • 在服务器上运行或停止服务(守护程序)。

    即使是计划中的文件更改有时也会给您的WordPress网站带来问题。通过使用文件完整性监控跟踪所有修改,您可以轻松确定与文件更改相关的错误的可能原因。

    这使故障排除速度更快,因此您可以立即恢复站点 并运行。

    文件完整性监控的工作原理

    文件完整性监控的工作原理是获取站点文件的“指纹”,然后将它们相互比较。如果指纹不同,则表示文件已更改。

    为了创建指纹,文件完整性监视器(也称为文件完整性扫描仪)扫描单个文件并通过在文件上运行加密哈希函数来创建“校验和”——与该文件关联的唯一数据字符串。

    站点文件指纹

    站点文件指纹

    文件完整性监控对于检查其他文件属性(例如权限和修改日期)也很有用。这些检查至关重要,因为即使是文件权限的简单更改也可能使系统容易受到攻击。

    为什么文件完整性监控很重要

    使文件完整性监控成为必备安全解决方案的一个方面是它的双重优势,即反应式和主动式安全解决方案。

    文件完整性监控作为主动安全

    主动安全的一个例子是识别您的开发人员在您的网站上工作时可能使您的网站暴露的错误。错误的文件权限、包含敏感信息的剩余文件(例如数据库备份或源代码文件)是文件完整性监控可以主动识别的安全威胁的良好示例。

    文件完整性监控作为反应式安全

    文件完整性监控解决方案还可以指出黑客攻击后您的网站发生了什么变化, 或者恶意软件被注入到哪些文件中。

    除此之外,它甚至可以通过监控重要的 WordPress 站点文件(例如wp-config.php 和.htaccess文件)来检查您网站设置的更改。

    多亏了这些关键信息,您可以将您的网站恢复到之前的(干净)状态,并在尽可能短的时间内清除任何恶意软件或“坏代码”。

    合规要求

    对于某些人来说,法律也可能要求进行文件完整性监控。支付卡行业数据安全标准( PCI DSS) 要求符合标准的站点:

    “部署变更检测机制(例如,文件完整性监控工具)以提醒人员未经授权的修改。”

    管理网站访问者的敏感信息是一项严肃的责任。如果您在您的网站上存储任何类型的客户数据,尤其是持卡人数据,启用文件完整性监控可以帮助您确保此类数据没有被任何人篡改,并让您遵守法律。

    PCI DSS

    PCI DSS

    为什么需要对WordPress网站进行文件完整性监控

    WordPress是一个Web应用程序,它由两种类型的文件组成:不可执行文件和可执行文件。

    前者主要是日志和媒体文件。日志通常由插件和主题生成,而媒体文件是您上传到网站的文件,例如图像、视频、PDF等。它们是不可执行的,因为Web服务器不执行它们而只是为它们提供服务。

    大多数不可执行的文件都存储在WordPress的/wp-content/uploads/目录中。对不可执行文件的更改不会影响您网站的安全性、性能或功能。事实上,大多数文件完整性监控解决方案默认将这些文件排除在扫描之外。

    另一方面,可执行文件包括PHP、JavaScript和其他包含站点源代码的文件,例如WordPress核心、插件、主题以及您可能拥有的任何自定义Web应用程序。可执行文件的更改可能会发生,但前提是您:

    • 更新WordPress核心
    • 安装新主题或插件。
    • 更新您的主题或现有插件。
    • 卸载(删除)插件或主题。
    • 自定义WordPress安装、主题或插件的代码(通常不推荐)。

    对WordPress站点的可执行文件的任何其他更改都可能是入侵、恶意软件注入或开发人员错误的迹象。在您的WordPress网站上运行文件完整性监控插件可以帮助您在这些问题成为对您网站的安全或功能的真正威胁之前轻松发现这些问题。

    简要回顾一下:文件完整性监控可以帮助您识别应该被删除的测试文件、大多数恶意软件注入——包括后门、重定向和特洛伊木马以及任何其他有害文件更改。

    当与WP Security Audit Log结合使用时,文件完整性监控可让您始终全面了解站点上发生的情况。您可以进行黑客攻击后取证以确定哪些文件是目标文件以及目标对象,还可以增强它们周围的安全性以防止未来的攻击。

    两种不同类型的文件完整性监控方法

    文件完整性监控的基础始终相同:比较在不同时间点获取的单个文件的指纹。有几种方法可以实现这一点。

    1. 将文件与中央存储库进行比较

    一种常用的方法是通过使用WordPress插件将指纹与中央存储库进行比较(更多关于下面的插件)。在这种情况下,插件会将您网站的index.php文件的指纹与WordPress发布的最新index.php文件的指纹进行比较。

    使用此方法的优点是您可以轻松确认您的文件是否与原始文件相同。但是,由于您将数据与中央存储库进行比较,因此存在一些缺点:

    • 该解决方案无法识别分布式配置文件中的更改,例如.htaccess和wp-config.php。
    • 如果您自定义网站的代码,您将被标记为误报。
    • 该插件只能比较已知应用程序(WordPress核心)的文件,有时也可以比较流行插件的文件。
    • 这些解决方案无法检测自定义应用程序或插件中的更改,因为它们没有可比性。
    • 您网站的安全性取决于供应商更新原始指纹的速度或中央存储库的可用性。

    比较文件

    比较文件

    2. 将文件与自生成数据进行比较

    由于基于中央存储库的方法的局限性,比较两组自行生成的数据是首选方法和最佳实践建议。这种类型的解决方案通过将指纹与他们自己以前的扫描进行比较来检测文件更改。

    这意味着插件在安装时会生成第一个指纹。然后,当它再次扫描文件时,它将新指纹与原始扫描的指纹进行比较。每当记录文件更改时,您都可以将插件配置为自动接受该更改或向您发送警报。

    由于以下优点,此方法优于前一种方法:

    • 它可以检测自定义代码的变化。
    • 系统适应您的网站(您可以验证更改并更新指纹,从而支持持续定制)。
    • 它报告的误报显着减少。

    由于这些原因,在寻找文件完整性监控工具或插件时,您会希望选择一个基于自生成数据的工具或插件。

    可用于保护站点的3种文件完整性监控工具

    有几种不同的文件完整性监控解决方案可用。我们将它们分为以下三个基本类别。让我们从头开始!

    1. 服务器级软件解决方案

    这些解决方案安装在网络服务器的操作系统上,并检查网络服务器上的所有文件。这意味着您只有在拥有自己的Web服务器或VPS时才能使用它们。

    市场上有多种选择,例如:

    作为服务器级解决方案,这些解决方案并不是专门针对WordPress驱动的网站。所以他们可能会产生很多误报。最重要的是,它们非常昂贵,并且需要高级知识来设置和管理。

    2. WordPress插件

    如果您想要一个更特定于WordPress的文件完整性监控解决方案,可以使用各种插件来完成此任务。

    Website File Changes Monitor

    Website File Changes Monitor是WordPress的专用文件完整性监控插件。它是免费提供的,当它检测到文件更改时,它会通过电子邮件提醒您。

    带菜单的文件更改视图

    带菜单的文件更改视图

    该插件使用自行生成的数据进行文件比较,您可以启动按需扫描。它是一个完全可配置的WordPress文件完整性监控解决方案,您可以排除文件和目录,配置扫描计划等等。

    真正让这个插件与众不同的是,它是唯一一个完全了解WordPress核心、插件和主题变化的WordPress插件。

    WordPress File Monitor

    WordPress File Monitor也是一个专用的文件完整性监控插件,它使用自生成的数据进行比较。但是,它不知道WordPress核心、插件和主题更改,您可能会收到许多有关文件更改的误报警报。

    误报警报

    误报警报

    误报警报会对网站产生非常负面的影响,因为不了解安全的用户无法验证警报是由关键事件还是仅是安全文件更改生成的。

    其他插件选项

    以上是WordPress唯一的文件完整性监控插件。其他具有文件完整性监控功能的插件是多合一安全解决方案的一部分,例如Sucuri SecurityiThemes securityWordfence

    这两个插件都使用将文件与中央存储库进行比较的方法,并且不知道站点结构的变化,即它们只识别 WordPress 核心和一些流行插件的变化。

    3.开源文件完整性监控工具

    如果插件不是您的菜,您可能需要考虑使用众多可用于监控文件的开源工具之一。例如,Tripwire提供其平台的开源版本 ,提供免费的安全功能,包括文件监控。话虽如此,此版本不如其付费版本有效。

    另一个要考虑的开源平台是OSSEC

    OSSEC平台

    OSSEC平台

    这是一种流行的免费安全解决方案,它能够执行文件监控任务。但是,就像我们提到的许多其他工具一样,它在服务器级别上工作。虽然它可以与WordPress一起使用,但它只有在您拥有专用服务器或VPS时才能工作。

    此外,如果您选择OSSEC,您需要进行一些高级配置,但它仍然可能不是您站点最准确的解决方案。

    开源安全平台最有趣的方面是,如果您了解代码方面的知识,您可以调整这些工具以包含扩展功能并满足您的偏好和需求。

    小结

    WordPress安全是一件严肃的事情。采取预防措施保护您的网站、内容、业务和用户数据是关键。文件完整性监控只是游戏的一部分。 如果确实发生攻击,拥有一个WordPress备份系统来恢复您的文件也很重要。

    在这篇文章中,我们展示了文件完整性监控如何满足这两个需求,并分享了三种类型的文件完整性监控解决方案,您可以在 WordPress 网站上使用:

    1. 服务器级软件解决方案,例如Tripwire(有效,但可能非常昂贵)。
    2. 免费的WordPress插件,例如Website File Changes Monitor
    3. OSSEC等开源工具。
  • 您需要知道WordPress CCPA合规性的一切

    您需要知道WordPress CCPA合规性的一切

    确切地说,新的隐私法已于2020年1月1日生效,每个人都在争先恐后地实施合规。听起来有点熟?如果您感到似曾相识,请不要担心,我们也记得GDPR

    虽然GDPR是保护欧盟公民隐私权的总体法律,但这项新法律关注的是加利福尼亚州居民的隐私权。请允许我们向您介绍2018年加州消费者保护法 (CCPA),该法律旨在为加州人提供对其个人信息的更多控制权。

    在本指南中,我们将引导您完成以下操作:

    请注意,本指南仅供参考,不应被视为法律建议。

    什么是CCPA?

    CCPA是一项隐私法,于2018年6月28日通过。该法律的一个版本最初是作为房地产开发商2017年11月全州投票的一项倡议而引入的。开发商向加州立法机构提出了一项协议,即如果通过类似的隐私法,他将撤回他的选票(这对企业来说相当苛刻)。

    立法机关在总共7天内介绍、修改并通过了他们的CCPA版本。此后,该法律又被修改了几次,加州总检察长也发布了旨在澄清这项新法律要求的法规。您可以在此处找到CCPA的全文,以及通过的修正案,以及在此处提出的法规。

    根据立法者的说法,CCPA获得通过是因为:

    1. 技术的发展限制了加州人适当保护和维护其隐私的能力
    2. 加利福尼亚州的法律没有跟上消费者与企业分享越来越多的个人信息这一事实的步伐
    3. 未经授权的个人信息披露和隐私的丧失可能对人们造成毁灭性的影响
    4. Cambridge Analytica丑闻增加了对隐私控制和数据实践透明度的渴望。

    最后,很明显,人们渴望隐私和对自己信息的更多控制,而CCPA的通过就是为了满足这种愿望。与GDPR类似,CCPA通过向消费者提供某些权利来满足这一愿望,在这种情况下,向加利福尼亚居民提供某些权利。这些权利如下:

    1. 知道正在收集关于他们的哪些个人信息的权利
    2. 知道他们的个人信息是否被出售或披露以及向谁披露的权利
    3. 拒绝出售其个人信息的权利
    4. 要求删除其个人信息的权利
    5. 访问其个人信息的权利
    6. 平等服务和价格的权利,即使他们行使其隐私权

    CCPA适用于谁?

    隐私法中棘手的,有时也是最令人困惑的部分是弄清楚它们是否适用于您的业务。制定隐私法是为了保护特定州或国家的居民或公民的个人信息,而不是企业。

    这意味着加州以外的企业可能仍需遵守该法律。CCPA适用于“企业”,该企业被定义为在加利福尼亚州开展业务并满足以下门槛之一的营利性法律实体:

    1. 年总收入超过25,000,000美元
    2. 每年出于商业或商业目的购买或接收、出售或共享50,000名或更多加利福尼亚消费者、家庭或设备的个人信息或
    3. 其50%或更多的年收入来自出售加州消费者的个人信息。

    如果您认为CCPA在技术上仅适用于大公司,那您是部分正确的。由于个人信息销售的定义非常广泛,CCPA合规性的很大一部分是供应商的管理

    这意味着,如果您与大型企业开展业务或充当其供应商,他们可能会要求您通过合同遵守CCPA 。所以,如果你是一家不符合上述门槛的小公司,你可能还是需要注意并遵守这些要求。

    此外,如果您为需要遵守CCPA的大型公司设计网站,则需要注意,该法律将影响您设计这些网站的方式。

    不遵守CCPA的后果是什么?

    CCPA通常由加州总检察长执行。违规罚款为每次违规2,500美元或每次故意违规罚款7,500美元。“每次违规”通常被理解为是指您侵犯了其隐私权的每个人。

    因此,如果您有100名来自加利福尼亚的网站访问者并且没有合规的隐私政策,您的罚款可能高达250,000美元。很容易看出这是如何膨胀成一个非常大的数字。

    如果您必须仅通过合同遵守CCPA,则不遵守的后果可能是失去该客户或业务关系。如果您必须建立一个符合CCPA的网站,不合规的后果可能意味着您的客户会被罚款,您会被起诉作为回报或差评,从而损害您的网页设计业务。

    如何为CCPA准备WordPress网站

    如果您的WordPress网站需要符合CCPA,我们将引导您完成一些可以采取的步骤,以确保您符合CCPA。您为CCPA做准备的步骤可能包括:

    如果这一切看起来像很多工作,那就是。不过不用担心,我们还会为您提供一些我们最喜欢的工具和资源,您可以使用它们来帮助您做好准备。

    聘请隐私律师

    您很快就会看到,遵守CCPA有很多内容。至少可以说,法律和法规可能难以解释。

    如果您不确定自己的正确道路,您应该聘请一位专门研究隐私的律师,因为他们能够为您指明正确的方向,并针对您的具体情况为您提供有价值的建议。

    如果您不确定该选择哪位律师,请查看国际隐私专业人员协会 在隐私领域工作的律师事务所名单

    了解您收集的个人信息

    CCPA要求您告诉消费者您收集的个人信息类别。您应该浏览您的网站并创建一个列表。

    查看您的所有页面和您使用的所有表格,包括联系表格、订阅注册表单、帐户创建表格、评论提交表格、结帐表格以及您可能使用的任何其他表格及其相关联插件。

    例如,如下所示,WordPress中用于提供博客文章评论的默认表单收集姓名和电子邮件:

    评论表示例

    评论表示例

    此外,将您从任何其他来源收集的个人信息列表放在一起。想想分析软件、Hotjar、电子商务结账页面或WordPress注册页面上的信息,以及类似的。

    然后,将您从这些表格中收集的个人信息分类,以便消费者轻松了解您收集的个人信息。个人信息类别的示例包括:

    1. 识别信息
    2. 财务信息
    3. 商业信息
    4. 生物特征信息
    5. 互联网活动信息和
    6. 地理位置信息

    了解您从哪些来源收集这些个人信息

    CCPA要求您披露您从哪些来源收集个人信息。来源示例包括:

    1. 直接来自消费者
    2. 调查
    3. 跟踪像素
    4. 观察和记录活动,例如通过使用cookie和
    5. 数据经销商

    了解您是否向第三方披露个人信息

    CCPA要求您披露您是否向第三方披露个人信息。当被问及他们是否共享数据时,大多数人最初的回答是略带冒犯的“不”。

    花一些时间,真正考虑一下您与您的网站进行了哪些集成。

    通讯订阅是否直接使用MailChimp等电子邮件营销工具?

    表单提交是否会登录到HubSpot 等客户关系管理工具?

    每当您收到表单提交时,您的Web开发人员是否会收到警报?

    如果是这样,您正在与第三方共享数据,您需要披露该数据。

    创建一个不要出售我的个人信息页面

    如果您出售加州消费者的个人信息,您需要有一个标题为“请勿出售我的个人信息”或“请勿出售我的信息”的网页。此网页需要包含以下信息:

    1. 描述消费者选择不出售其个人信息的权利
    2. 消费者可以提交退出请求的网络表单
    3. 消费者可以提交退出请求的任何其他方法的说明
    4. 指向您的隐私政策的链接
    5. 消费者想要指定授权代理人代表他们提交退出请求时所需的任何证明

    下面,您可以看到一个网站主页页脚示例,其中包含指向“请勿出售我的个人信息”页面的超链接。

    “请勿出售我的个人信息”页面示例

    “请勿出售我的个人信息”页面示例

    创建隐私声明

    CCPA要求您在收集个人信息时向加州消费者提供隐私声明。

    请注意,CCPA不要求消费者同意收集个人信息,这与我们在GDPR中看到的要求大相径庭。

    隐私声明就像一个迷你隐私政策:它提供了关于收集哪些个人信息、将用于什么以及其他披露的快速而简明的解释。

    通知必须以易于阅读的方式设计并呈现给消费者,并且必须为普通人所理解。该通知必须:

    1. 使用简单明了的语言,避免使用技术或法律术语
    2. 使用能够吸引消费者注意通知并使通知可读的格式,包括在较小的屏幕上
    3. 以您向消费者提供合同、免责声明、销售公告或其他信息时使用的语言提供
    4. 残障消费者可以使用

    您的隐私声明必须包含以下信息:

    1. 您从消费者那里收集的个人信息类别列表。您列出的每个类别都必须让消费者对所收集的个人信息有一个有意义的了解
    2. 对于每一类信息,其将用于的商业或商业目的
    3. 如果您出售个人信息,标题为“请勿出售我的个人信息”或“请勿出售我的信息”的链接。此链接应指向一个网页,消费者可以在该网页上行使拒绝出售个人信息的权利

    如果您不想创建隐私声明,您只需在收集个人信息时向消费者提供指向您的隐私政策的链接。以下是加州特定隐私声明的示例。

    加利福尼亚特定的隐私声明

    加利福尼亚特定的隐私声明

    创建隐私政策

    CCPA还要求您制定隐私政策。隐私政策的目的是向消费者提供关于您收集、使用、披露和销售个人信息的做法以及消费者根据CCPA获得的隐私权的完整描述。

    隐私政策必须满足与隐私声明相同的可读性、格式、可用性和可访问性要求。

    但是,隐私政策还必须以允许消费者轻松打印出来的其他格式提供。隐私政策必须通过在您网站主页上使用“隐私”一词的显眼链接发布在您的网站上。

    您的隐私政策必须包含以下信息:

    1. 根据CCPA对加州消费者权利的描述
    2. 消费者可以提交行使权利的请求的一种或多种方法。如果您出售个人信息,请提供指向您的“请勿出售我的个人信息”或“请勿出售我的信息”页面的链接,消费者可以在其中行使拒绝出售其个人信息的权利
    3. 您在过去12个月内收集的个人信息类别列表
    4. 您收集个人信息的来源类别列表
    5. 您使用个人信息的商业或商业目的
    6. 您在过去12个月内出售的个人信息类别列表以及您向其出售该个人信息的第三方类别列表。如果您没有出售任何个人信息,那么您必须披露该事实
    7. 您在过去12个月内披露的个人信息类别列表以及您向其披露此个人信息的第三方类别列表。如果您没有披露任何个人信息,那么您必须披露该事实
    8. 消费者如何指定授权代理人代表他们提出行使隐私权的请求;
    9. 消费者可以联系到的任何问题或疑虑的联系人
    10. 隐私政策的最后更新日期
    11. 如果您每年出售4,000,000或更多加州消费者的个人信息,您还需要包括额外的披露

    可以帮助您遵守CCPA的工具和资源

    所有这些合规性和披露要求似乎都令人生畏。幸运的是,您可以使用很多有用的工具来为您的网站和业务做好准备:

    Termageddon

    Termageddon

    Termageddon

    Termageddon:一种软件即服务,可生成为您的业务定制的隐私政策。每当法律发生变化时,我们都会更新客户的隐私政策,以确保您的政策始终保持最新。

    CCPA Toll Free

    CCPA Toll Free

    CCPA Toll Free

    CCPA Toll Free:CCPA要求一些企业提供免费电话号码,作为消费者行使隐私权的方法之一。CCPA免费电话可帮助您满足该要求。

    Orrick’s CCPA Readiness Assessment

    Orrick's CCPA Readiness Assessment

    Orrick’s CCPA Readiness Assessment

    Orrick’s CCPA Readiness Assessment:该工具通过询问您简单的“是”或“否”问题,帮助您了解您为CCPA准备的充分程度。您还可以将此工具用作一种准备清单。

    CCPA Opt-Out by CookiePro

    您需要知道WordPress CCPA合规性的一切-1

    CCPA Opt-Out by CookiePro插件

    CCPA Opt-Out:此插件允许您自定义并向您的网站添加“不销售按钮”。

    IAPP

    IAPP

    IAPP

    IAPP:国际隐私专家协会是世界上最大的隐私组织。查看他们的网站,了解不断更新的隐私新闻、资源和供应商列表。

    小结

    虽然CCPA没有GDPR那样广泛的应用,但它仍然是一个非常重要的问题,不应掉以轻心。

    CCPA在美国确实是首创,其他州现在都在效仿加利福尼亚。事实上,截至2019年底,已有九个州提出了自己的隐私法案。

    这些法案要么引用CCPA作为灵感,要么实际上是CCPA的完整副本。很明显,CCPA为更多隐私法规铺平了道路,并且在线隐私合规要求不会很快消失。

  • 如何修改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备份自动化任务。