我如何才能轻松验证核心或插件更新没有损坏任何东西?

时间:2013-05-24 作者:Jan Beck

我在想办法让更新WordPress对我来说不那么可怕。在我的职业生涯中,我创建了大约30个基于WP的公司网站,我觉得在安全方面对它们负有一定的责任。即使客户不付我维护费——每隔几个月点击一次“更新”按钮也没什么大不了的,对吧?

出于以下几个原因,我一直抵制升级

如果网站在更新过程中出现故障,客户通常不愿意支付修复所有故障所需的时间。“它确实有用,你为什么要改变它?!”唯一的选择是回滚并锁定站点。

如果有什么东西破坏了网站,而我没有注意到,我就完蛋了。我不想再解释为什么更新后的联系方式在几周内不起作用了。

公司网站的更新通常不是强制性的。大多数安全问题都发生在用户提交的内容、ajax和xml rpc API上,这些都是我在创建每月只能访问几百次的静态页面时不必考虑的问题。这些网站往往闲置,这当然增加了更新的风险。我对更新一个只有2个月历史的网站没有问题,但我对更新一个运行3.0之前甚至2.7之前的2年历史的网站感到抵触

你是怎么处理的?非常感谢您的任何建议,这些建议有助于更安全的WP安装?:)

(为了清楚起见:我这里主要谈论的是小公司网站或私人博客,其中自动化测试不是一个现实的选择)

3 个回复
最合适的回答,由SO网友:Matthew Boynes 整理而成

就你的具体情况而言,我认为答案不是技术性的(更多细节请参见我对问题的评论)。

对于其他人来说"How can I easily verify a core or plugin update has not broken anything?" 是自动测试。这就是自动化测试的全部目的,因为认为您可以以非自动化的方式测试所有内容是不合理的。

下面是一个关于WordPress自动测试的入门指南:http://make.wordpress.org/core/handbook/automated-testing/

如果你不愿意走这条路,至少,我的建议是让你的客户列出他们网站最重要的三件事,并在合同中包括你将在每次更新时测试这三件事。这并不能保证某些东西不会破裂,但至少你可以轻松地知道(他们自己承认)对他们来说最重要的东西,比如联系方式,不会破裂。

SO网友:s_ha_dum

我理解这种担忧,但没有现实的方法来预测Core将来会发生什么变化,或者会因此而中断什么,而且网站也没有合理的方法来检查自己的错误,除非你willing and able to run some kind of comprehensive test suite on the site at update. 我怀疑这在制作网站上是否可行,可能比在更新上赌博更危险。

您所能做的最好的事情是:

尽可能地使用核心功能,避免使用不推荐的功能,避免编写自己的查询和其他类似的东西,因为更新的破坏几率高于正常情况,当然要避免黑客攻击核心,并让客户知道网站上线后您就完成了,除非他们愿意支付维护费用

SO网友:Elisha Terada

撇开业务部分不谈,考虑在托管服务上托管您的客户网站,如WPEngine 托管公司将负责升级并警惕恶意软件。

作为奖励,像这样的公司会给你一次点击从现场生成临时站点的机会,让你进行插件更新,看看会发生什么。

这个价格是非常值得的,因为客户将支付更高的价格来雇用某人修复他们感染病毒的网站。。。

结束

相关推荐

“自动WordPress更新无法完成-请立即重新尝试更新”--但没有.Maintenance文件

在自动升级失败后,我正在尝试手动将wordpress升级到最新版本(3.0.3)。升级后,一切正常,除了在我的管理区顶部有一条令人不快的消息:自动WordPress更新未能完成-请立即重试更新我在互联网上搜索,每个人都说这是因为.maintenance 文件位于Wordpress根文件夹中,是自动升级或手动升级失败的遗留文件。在第二种情况下,只需删除该文件,一切都会很好。但我搜索我的wordpress安装目录,没有这样的文件。知道是什么导致了这个问题吗?