我是WordPress的新手。我最近阅读了一篇有关黑客如何利用插件漏洞的文章。诸如Google Pagespeed之类的各种来源也使我无法使用插件,或者至少将其保持在最低水平。就个人而言,我也尽量避免使用插件,因为我可以更好地控制网站上发生的事情,而下载插件几乎感觉像是“很棒,我必须学习使用另一件事”。

我了解“插件推荐”是题外话,但我要讲的实际上是解释为什么/如果某些插件在WordPress中必不可少。

以这些为例:

安全性-一些顶级插件与安全性有关。但是WordPress网站通常容易受到攻击吗?为什么我需要一个额外的插件来避免被利用?

备份-我是博客世界的新手,但大多数托管服务商都不提供备份服务吗?还是我需要使用WordPress的专用插件?

AdSense点击欺诈监控-旨在阻止点击炸弹以避免被Google放逐。但是我不明白,除非您下载插件,否则所有人都需要做几次虚假点击来关闭您的收入吗?

编辑:最好在Google支持中询问此问题,请忽略如果可以的话

评论

欢迎使用WPSE!如果您还没有读过,则可能需要阅读该站点的导览。如果您对帮助中心有所了解,则会发现有关我可以问哪些主题的部分?我想说的是,您的问题涉及WP管理的最佳实践,因此是一个很好的问题。

这是一个很好的问题。以我的经验,在接管某人的网站作为网站管理员时,我要做的第一件事是审核他们的插件,并删除所有不是100%必需的内容。十分之九的人中,没有人注意到差异,除了网站运行速度更快且错误更少。

#1 楼

插件的必要性

插件的必要性真正归结为以下问题:“我是否满足于WordPress的核心功能就是我所需要的?”

如果需要的话是一个简单的博客,其中包含一些类别和您设置的许多静态页面。但是,如果您想开始集成交互式地图,日历和事件(也许是第三方REST API),迫使用户使用强密码,甚至将站点变成社交网络,则需要插件。格兰特·帕林(Grant Palin)的答案提供了更多有关为什么人们会想要插件的见解。 Dan Gayle的答案指出,许多主题都提供了各种插件功能,而没有明确使用WordPress插件。





核心安全性

WordPress核心本身相当安全,核心开发者社区在发现安全漏洞后立即进行了可观的工作,以隔离和修补安全漏洞-拥有数亿用户且每个版本平均拥有约200名核心贡献者的好处之一。通过添加自动核心更新,可以迅速消除从漏洞识别到修复发布之间持续存在的风险。



Pagely中的WordPress安全信息图(相当数量的可靠信息-单击以完整查看它)


是的,WordPress具有固有的安全漏洞。但是Drupal,CakePHP,Ruby on Rails,Symfony,Zend等也是如此。除了平台已经提供的安全防范措施之外,没有其他平台或系统可以使用。我认为,仅依靠CMS或框架来确保任何网站的一线安全都是一个坏主意,尤其是采用率很高的任何框架。




插件安全性

插件并不是绝对不安全的。问题在于,没有审查插件以确保其作者遵循良好的安全惯例。 WordPress提出了许多作者应遵循的标准,但是许多插件是由新手或其他忽略该标准的人编写的。但是,与现有的所有代码库一样,您向系统中添加的代码越多,引入错误和漏洞的可能性就越大。添加到安装中的插件越多,您承担的风险就越大。通过同样的方式,知道WordPress主题同样会带来恶意威胁-尤其是从晦涩的主题网站中获得的大量“免费主题”,其中许多试图直接利用您的网站,而不是通过无知或意外地无辜暴露安全漏洞。仅从可信赖的来源和可靠的作者那里获取主题和插件。

经验法则是不要安装来自知名度不高的作者的插件或相对较新的插件。如果可以的话,请花时间建立作者的信誉。理想情况下,了解安全可靠的插件的因素(用于请求和URL身份验证的数字一次(也称为“ nonce”),输入清理,输出转义,防止直接访问插件文件,对插件的正确访问)通过WordPress的方法和功能实现数据库数据库,启用调试时没有错误和弃用通知(请避免在生产环境中启用等),并审核自己安装的每个插件。无法理解安全插件脚本中包含的内容,也无法理解糟糕的插件的任何更好的防御方法。

如果对不安全的插件和主题的想法使您感到恐惧,或者您不熟悉PHP或不熟悉PHP,您可能会发现WordPress.com的服务更像是杯茶,因为他们承担了审查插件和主题的责任,并且仅允许那些确定为安全的用户安装在用户站点上。如果需要,您仍可以在WordPress.com上使用自定义域。




备份它

某些主机提供了此类服务,其他则没有。正如我不信任任何平台的安全性一样,我也不信任任何主机来照顾我的备份。相反,我更喜欢将备份堆积在我的Dropbox中并同步到不同的服务器,这样我可以确信我始终可以直接访问具有多个不同系统上的副本的备份。如果我的主机出现故障或被一家较大的公司收购或其他不幸的主机托管,则只需单击几下鼠标,甚至不必担心要得到我的主机支持的风险。




最终注释

您应该阅读Harding WordPress上的Codex条目以获取更多安全建议。如果您不希望将来需要许多插件或任何晦涩的插件,那么让WordPress.com或备用托管的WordPress托管提供商(例如Pagely)托管您的博客可能会更明智。

不管WordPress的新“自动核心更新”功能如何,您仍应努力手动确保安装以及所有插件和主题都是最新的。有人可能会认为这太过分了,但是我喜欢在更新后启用调试,并确保没有任何插件或主题失去兼容性(错误流和弃用通知是这种现象的强烈征兆)。如果有,我将禁用它们,直到他们的作者更新它们为止,或者我自己进行必要的更改以保留我的身份,直到他们发布正式更新。请注意,您应该使网站脱机或运行网站的脱机开发副本,然后再启用调试以进行故障排除。

我不确定Ad-sense点击炸弹的普遍性实际上,但是WordPress插件可减轻此类单击炸弹的影响,除了提供Google的各种预防措施外,还为您提供了额外的安全保护。未运行WordPress的网站面临有关单击炸弹的确切威胁,因此必须通过其他方式实施保护或在没有这种保护的情况下生存。





其他资源



Codex:编写插件


插件创作的功能侧重介绍,结合了一些安全性提示。特别要注意页面底部附近的“插件开发建议”部分。



Codex:验证用户数据的清理和转义


对这些概念及其重要性进行了简要介绍。


法典:安全性常见问题解答

手册:PHP编码标准


WordPress中针对PHP代码的以语法为中心的标准,其中掺入了一些安全提示。



手册:PHP内联文档标准


我绝对希望告诉您不要安装忽略在线文档的插件,但实际上,即使是优秀的开发人员也不一定总是这样做。但是,带有PHPDoc标记的内容丰富的联机文档很好地表明了作者对它们的操作有所了解。



WPSE:“什么是安全性? WordPress插件和主题的最佳做法?”


此问题的答案提供了其他资源中未列出的其他几点。请注意,此问题已锁定,不会更新以反映新的发展。



WPSE:“在哪些上下文中负责数据验证/清理的插件?”


概括地说,“什么时候需要保护我的数据,什么时候核心功能为我处理数据?”



> WPSE:“谁是最受信任的插件开发人员?”


WordPress插件开发中一些最受信任和知名的名称的一小清单。当然,绝不是穷举,而是一些快速“确定”的良好起点。请注意,此问题已锁定,不会更新以反映新的发展。



WPSE:如何确定主题/插件作者的信誉?”


基于这个关于插件的必要性的问题而编写的,希望这个问题能够为选择值得信赖的主题/插件作者提供一个通用的过程。



“ WordPress插件无知的危险(以及如何处理)”-Tom Ewer


关于插件的危险的扎实的非技术性概述。



“正在开发WordPress?保持粪便安全”-Mike Jolley


有关安全插件开发最佳实践的出色的简短技术概述。请注意,本文中链接的来自wptemplate.com的信息图还包含一些有关整体WordPress安全性的良好提示,但编译效果很差,并且以不完整的英语编写。



“ 7条简单规则:WordPress插件开发最佳实践”-WP Tuts +


Tuts +上的文章通常准确且质量可观。




“ WordPress安全–突破BS”-Tony Perez


基于Perez的Chicago 2012 WordCamp演示文稿的WordPress安全漏洞和预防措施的出色技术概述。 >




评论


很棒,详细的答案!

–将 13年12月31日,下午3:26

YouTube视频不需要插件。它们可嵌入默认的WP安装中。已经很久了。

–丹·盖尔(Dan Gayle)
14年1月1日,0:52

好的,丹!我修改了答案以解决这个问题。我也回过头来重新格式化了我的回答,以提高可读性,并添加了大量的链接资源以提供更详细的信息。

– Bosco
2014年1月1日,下午1:47

我以为曾经有一个Codex页面完全致力于插件安全最佳实践,但现在似乎找不到它。真的应该有...

– Bosco
2014年1月1日的1:48

博斯科:让我嫉妒这些图像。我可能会回去自己创建一个信息图:p

–丹·盖尔(Dan Gayle)
2014年1月1日的1:51

#2 楼

简而言之-WordPress开箱即用,无需插件。

但是!不同的人对它还应该做什么有不同的想法。其中一些想法是合理的。有些完全是傻瓜。

具体在您的示例中:


WP(或者更确切地说是当前的稳定版本)是安全的,有许多安全插件专注于审核(类似于其他插件的代码)和主动监视(没有什么绝对是绝对安全的)。
很多人(包括我在内)都不信任第三方来处理备份。关于恐怖的故事,有很多恐怖的故事,关于如何信任带有备份的主机会导致相当可悲的结果,除非您可以亲自监视,访问和验证主机(假设)正在备份,否则将它们视为不存在的安全性更高。


评论


这是有关主机进行或不进行smh.com.au/technology/security/…的备份可能发生的情况的证明。

–布拉德·道尔顿(Brad Dalton)
2014年1月3日15:06

#3 楼

WordPress本身具有相当的功能。如果您的需求直截了当,或者您知道如何添加自定义功能,那么通常就不需要插件。但是,插件模型有很多优点,我将列举一些优点:


模块化,即插即用(主要是)功能
封装专用功能
避免重塑轮子
经验丰富的插件作者的工作

倒数第二点,如果您要添加某些功能,那么很可能已经实现了插件形式。从已经完成的工作中受益是没有错的。

最后一点,许多可用的插件是开发人员的时间和经验的结果。这样的插件往往具有良好的构建和支持,并具有良好的声誉。看看皮蓬·威廉姆森,斯科特·金斯利·克拉克和亚历克斯·金,仅举几例。他们不仅具有技术技能,而且具有信誉。这对于某些第三方插件来说是一个巨大的好处。

对于备份,我不愿意使用如此重要的东西来信任Web主机,尤其是如果备份保存在同一服务器或在同一网络中。第三方插件或DIY方法可为您提供更多控制权,并且通常将备份存储在与网站非常不同的位置。

如果有专门知识,则安全插件不是严格必需的自行处理安全安排。一些此类插件(例如Better WP Security)可简化文件权限,.htaccess指令等的处理。其他诸如WordFence的提供监视服务,而“限制登录尝试”为站点后端提供一些保护。

如果您担心插件的质量,那么这可能会是一个成功或失败的事件。我认为WordPress插件回购上的内容至少要经过WordPress背后的人员的审查,但是质量或价值是可变的-很大程度上取决于您的需求和能力。如果某个插件受到了良好的评价,并获得了积极的支持,并且来自知名作家或团队,那么您很可能会事半功倍。

#4 楼

备份

主机可以处理备份,但是备份通常仅提供“全有或全无”方法。如果您使用插件,则可以每周执行一次文件备份和每日一次数据库备份,在进行任何维护之前先运行它们,或者将备份文件存储到SFTP / S3帐户中。没有插件就无法做到这一点。

性能

由于您的关注点在于性能(如您的Pagespeed参考资料所证明),我知道的唯一方法使用第三方CDN托管图像的方法是使用插件(除非您真的很喜欢服务器上的脚本,在这种情况下,您可能不会在这里问这个问题)。

长期维护

任何驻留在WP本身范围之外并修改/更改您的内容(例如简码)的功能都应驻留在插件中,因为您几乎肯定会在某天更改主题并且您不希望网站上出现大量损坏的内容。

用户输入

用户输入是许多安全漏洞的来源,因此,如果您接受任何类型的用户数据,我肯定会考虑使用信誉良好的插件来处理。与您可能要添加的一些手工编码的表单相比,它们更有可能被其他人审查并且已经过测试。


如何

有时候,您需要的一切都在您的主题中。 (尤其是,如果您在Code Canyon / Envato等上购买了它,因为它们似乎是非常“功能”驱动的。)

有时,为主题制作一个mod确实比制作一个mod容易得多处理插件,例如“ seo”插件的很大一部分。

评论


列举只能通过插件获得的功能的示例;这些绝对是一些主要方面!

– Bosco
2014年1月1日在2:11

我并不是说他们不是专业人士,有些是非常出色的。我说的是,为了增加更多的“功能”,一场军备竞赛正在进行中,而且我故意避免购买我想要的主题,因为它与我正在运行的网站的功能太多冲突。我希望其中一些仅具有基本模板和样式表,而没有多余的东西。

–丹·盖尔(Dan Gayle)
2014年1月1日在2:11

有道理。它们的确充满了“功能”,其功能仅比孔雀的尾羽更有意义。我当然选择自己转换HTML模板,而不是在许多情况下购买the肿的WP副本。

– Bosco
2014年1月1日,凌晨2:14

#5 楼

实际上,这取决于您的要求。如果要在不修改主题文件的情况下为网站添加更多功能,那么肯定需要插件。

评论


您可以在没有插件的子主题功能文件中添加主题功能。

–布拉德·道尔顿(Brad Dalton)
2014年1月3日15:51

是的,子主题可以是一个解决方案,但是当您可以选择快速有效地解决问题而无需修改主题文件时,它将是一个复杂的解决方案。

– WpMania.Net
2014年3月3日在9:53

#6 楼

如果您要添加电子商务系统或完全自定义子主题,它们是必不可少的,否则您将需要为电子商务之类的东西完成大量的自定义编码。

另一个重要的点是两者之间的区别与提供大量主题特定插件的主题相比,使用包含大量主题选项的主题。

通过安装插件添加功能而不是使用主题来定制WordPress显然更容易包含大量的内置选项,因为您需要使用代码来过滤现有功能,而不是安装插件,而只是添加需要使用的功能。

插件中的代码也会在更新时WordPress的新版本也处于Beta版,如果插件未更新,则可以轻松删除并安装新插件。