问题描述
我是 WordPress 的新手。我最近读了一篇关于黑客如何利用插件漏洞的文章。 Google Pagespeed 等各种来源也使我无法使用插件,或者至少将其保持在最低限度。就我个人而言,我也试图避免插件,因为我觉得更多的是控制我的网站上发生了什么,而下载的东西几乎觉得 「好,另一件事我必须学习如何使用」 。
我明白’Plugins-recommendation’ 是 off-topic,但是我之后实际上是解释为什么/如果一些插件是必不可少的 WordPress 。
以这些为例:
安全性 – 几个顶级插件与安全性有关。但 WordPress 网站一般易受攻击?为什么我需要一个额外的插件来避免剥削?
备份 – 我是博客世界的新手,但大多数主机不提供备份服务?或者我需要使用 WordPress 的特殊插件吗?
AdSense Click-Fraud 监控 – 用于阻止点击炸弹以避免从 Google 流放。但是我不明白,除非你下载插件,所有人都要做的只是关闭你的收入,
编辑:可能会更好地在 Google 支持中提出这一点,如果是这样,请忽略它
最佳解决方案
插件必要性
插件真正归结的必要性是一个问题,「我很满意 WordPress 的核心功能是我需要的吗?
如果您想要的是一个简单的博客,其中包含一些类别和一些静态页面。但是,如果要开始集成交互式 Map,压缩器与事件,也许是 3rd-party REST API,强制用户使用强密码,甚至将网站转变为社交网络,然后您需要插件。 Grant Palin’s answer 提供了更多的洞察为什么可能需要插件。 Dan Gayle’s answer 指出,许多主题提供各种插件功能,而无需明确使用 WordPress 插件。
核心安全
WordPress 核心本身是非常安全的,核心开发人员社区在识别安全漏洞时就会分离和修补安全漏洞,这是每个发行版拥有数亿用户和平均约 200 个核心贡献者的好处之一。而且在添加 Automatic Core Updates 之前,很快就会消除在确定漏洞和释放其修复程序之间的过程中存在的风险。
WordPress security infographic from Pagely (Fair amount of solid info – click through to view it in its entirety)
是的,WordPress has inherent security vulnerabilities 。但是 Drupal,CakePHP,Ruby on Rails,Symfony,Zend 等也是如此。除了平台已经提供的安全预防措施之外,没有任何平台或系统可以使用。我认为只要依靠 CMS 或框架,任何网站的 front-line 安全性,特别是具有显著的采用率的任何框架,这是一个坏主意。
插件安全性
插件不是绝对不安全的。问题是插件没有被审查,以确保他们的作者遵循良好的安全措施。 WordPress 已经提出了许多作者应遵循的标准,但许多插件是由新手或其他忽略标准的人创作的。但是与现有的所有 code-bases 一样,添加到系统中的代码越多,引入错误和漏洞的可能性就越大。您添加到安装中的插件越多,您倾向于采取的风险越大。同样的方式,知道 WordPress 主题同样具有恶意的威胁 – 特别是”free themes” 可以从模糊的 theme-sites,many of which attempt to directly exploit your site 中获取,而不是通过无知或意外暴露安全漏洞。只能从信任的来源和可靠的作者获取主题和插件。
经验法则是不要从现场的相对较新的广泛的未知作者或插件安装插件。如果可以的话,花点时间来确定作者的信誉。理想情况下,得知进入一个 well-secured 插件的因素 (numbers-used-once [又名”nonce”s] 请求和 URL 验证,input sanitization,output escaping,prevention of direct access to plugin files,proper access of the database 通过 WordPress methods and functions,没有错误和弃用通知的当启用 debugging [启用该功能以避免生产环境] 等),并检查您自己安装的每个插件。没有什么可以替代理解什么进入安全的插件脚本,也没有更好的防御从笨蛋的插件。
如果不安全的插件和主题的想法恐吓你或者你不熟悉或者不熟悉 PHP,你可能会发现 WordPress.com 的服务是更多的茶,因为他们承担审查插件和主题的责任,只允许那些被确定要安全地安装在用户的站点上。如果需要,您仍然可以使用 WordPress.com 的自定义域。
把它备份
一些主机提供这样的服务,其他的则不提供。正如我不相信任何平台的安全性站在它自己的,我不相信任何主机来照顾我的备份。相反,我更喜欢将我的备份堆放在我的 Dropbox 中,并同步到不同的服务器,以便我可以确信,我总是可以直接访问我的备份与副本在几个不同的系统。如果我的主机掉头了,或者是由一家大公司或其他一些主机的不幸收购,我的网站几点点击,甚至不必处理我的主机的支持。
最终注解
您应该阅读 Hardening WordPress 上的 codex 条目以获得更多的安全建议。如果您不认为将来需要使用许多插件或任何晦涩的插件,可能会让 WordPress.com 或替代的受管理的 WordPress 主机提供商 (如 Pagely) 托管您的博客更为明智。
无论 WordPress 的新 「自动核心更新」 功能如何,您仍然应努力手动确保您的安装和所有插件和主题都是最新的。有些人可能认为它过多,但我希望在更新后启用调试,并确保没有插件或主题丢失兼容性 (一串错误和弃用通知是一个强大的症状) 。如果他们有,我禁用他们,直到他们的作者更新他们,或自己做必要的更改,以阻止我,直到他们发布官方更新。请注意,您应该将网站脱机或运行您的网站的脱机开发副本,然后再启用调试以排除任何问题。
我不确定 Ad-sense click-bombing 实践的流行程度,但是为了减轻这种 click-bombs 的影响,WordPress 插件提供了额外的安全保护,除了 Google 已经采取的任何预防措施。没有运行 WordPress 的网站面临着与 click-bombing 相同的确切威胁,要么通过其他方式实施保护或没有保护。
Additional Resources
A functionally-focused introduction to plugin authoring with a few security tips intermixed. In particular, pay attention to the Plugin Development Suggestions section near the bottom of the page.
Codex: Validating Sanitizing and Escaping User Data
A brief introduction to these concepts and why they matter.
Handbook: PHP Coding Standards
A syntactically-focused standard for PHP code in WordPress with a few security tips intermixed.
Handbook: PHP Inline Documentation Standards
I would absolutely love to tell you to never install a plugin that neglects in-line documentation, but in reality even good developers don’t always do this. Nonetheless, hearty in-line documentation complete with PHPDoc tags is a good indication that the author has some idea of what they’re doing.
WPSE: “What Are Security Best Practices for WordPress Plugins and Themes?”
The answers to this question provide a few additional points that aren’t listed in other resources. Note that this question is locked and will not be updated to reflect new developments.
WPSE: “In Which Contexts are Plugins Responsible for Data Validation/Sanitization?”
In a nutshell, “When do I need to secure my data and when do the core functions handle it for me?”
WPSE: “Who are the most trusted plugin developers?”
A small list of some of the most trusted and renown names in WordPress plugin development. Certainly not exhaustive by any means, but a good starting place for a few quick “sure-bets.” Note that this question is locked and will not be updated to reflect new developments.
WPSE: How can I establish the credibility of a theme/plugin author?”
Authored based on this very question regarding the necessity of plugins, hopefully this question will yield a general process for selecting trustworthy theme/plugin authors.
“The Dangers of WordPress Plugins Ignorance (And What To Do About It)” – Tom Ewer
A solid non-technical overview regarding the dangers of plugins.
“Developing for WordPress? Keep your shit secure” – Mike Jolley
An excellent brief technical overview of best-practices for secure plugin development. Note that the infographic from wptemplate.com linked in the article contains some additional good tips for WordPress security as a whole, but is compiled rather poorly and authored in broken English.
“7 Simple Rules: WordPress Plugin Development Best Practices” – WP Tuts+
The articles on Tuts+ are typically accurate and of considerable quality.
“WordPress Security – Cutting Through The BS” – Tony Perez
An excellent technical overview of WordPress security vulnerabilities and precautions based on Perez’s Chicago 2012 WordCamp presentation.
次佳解决方案
简单地说 – WordPress 做它做的开箱即用,不需要插件。
然而!不同的人有什么不同的想法应该做什么。其中一些想法是健全的。有些是完全笨蛋。
具体在你的例子:
-
WP(或更准确地说是当前的稳定版本) 是安全的,许多安全插件专注于审计 (像其他插件代码) 和主动监控 (没有什么是真正绝对安全的) 。
-
许多人 (包括我) 不信任第三方来处理备份。有很多恐怖故事,关于如何信任主机与备份导致相当悲伤的结果,除非你可以亲自监控,访问和验证备份,主持人 [认为] 采取更安全的对待他们,因为他们不存在。
第三种解决方案
WordPress 本身是功能齐全的。如果您的需求很简单,或者您知道如何添加自定义功能,则通常不需要插件。但是,插件模型有其优点,我将列举一些:
-
模块化,即插即用 (大多数) 功能
-
封装专门的功能
-
避免重新发明车轮
-
受益于经验丰富的插件作者的工作
参考 second-to-last 点,如果您要添加某些功能,则可能已经以插件形式实现了几率。从已经完成的工作中获益是没有错的。
总而言之,许多可用的插件是开发人员的工作时间和经验的结果。这样的插件往往是 well-built 并且支持,并有声望。看看 Pippin Williamson,Scott Kingsley Clark 和 Alex King,仅举几例。他们不仅拥有技术技能,而且具有信誉。这是某些 third-party 插件的巨大优势。
在备份的情况下,我不愿意信任那些非常重要的东西,特别是如果备份保存在同一个服务器或同一个网络中。 third-party 插件或 DIY 方法为您提供更多的控制权,通常将备份存储在与网站非常独立的位置。
安全插件不是严格必要的,如果有一个 know-how 自己处理安全安排。一些这样的插件,例如 Better WP Security,简化了文件权限的处理,.htaccess
指令等。其他如 WordFence 提供监控服务,而限制登录尝试为站点后端提供一些保护。
如果你担心插件质量,可能是一个打击或错过的事情。那些 WordPress 插件回购我认为至少接受 WordPress 背后的人的审查,但质量或价值是相当可变的,而且在很大程度上取决于您的需求和能力。如果一个插件是 well-reviewed,有一个积极的支持,来自一个 well-known 作者或团队,你很有可能在手中。
参考文献
注:本文内容整合自 Google/Baidu/Bing 辅助翻译的英文资料结果。如果您对结果不满意,可以加入我们改善翻译效果:薇晓朵技术论坛。