问题描述

我知道 WP 对某些目录和文件是可写的要求。我也知道,让权限过宽可以打开安全漏洞。最后,我知道 (在这里插入您的服务器) 的用户可以像在 Linux 系统上一样运行。

安全在一边,我喜欢下载主题和插件到我的博客,并在必要时进行更新。正确的权限似乎与这种偏好有点不一致。

我在这里和那里收集了一些细节,但是我想看到一个更明确的答案,如果有一个:什么是首选设置点头安全?应该有哪些权限,站点运行的用户等等。

最佳解决方案

如果您有 FTP 访问您的服务器,最安全的安装程序没有您的主题或插件目录可由您的网络服务器可写,而是使用 FTP 的 WordPress 更新文件。当您更新插件时,WordPress 会提示您输入您的 FTP 详细信息。

FTP 方法比直接文件写入慢很多,但是由于流氓脚本无法修改文件,因此它的安全性更高。

次佳解决方案

正如 @ Viper007Bond 所说,通过内置更新机制更新您的核心,插件和主题是非常安全的,只要 file-permissions 可以使用,因为他们可以使用您的实际用户凭据。为了最大的安全性,您需要确保安装了 SSH2 PHP extension 。安装方法 (如果可能) 可以从 host-to-host 变化,所以如果还没有,那么您可能需要询问托管服务,或者做一些谷歌搜索。

许多共享托管服务将在其 Apache 设置中使用 suexec,以便 Web 服务作为实际用户运行。这消除了大多数权限问题,并有助于保护您的文件与服务器上的其他用户。但是,如果 Apache 作为单独的用户运行,如果要将文件上传到 WordPress 中,则必须打开上传目录的权限。

在这种情况下,您可能希望 wp-content/uploads 目录具有 0713 权限 (AKA rwx--x-wx) 。这给目录所有者的完全权限,他们的组可以读取文件,如果他们知道完整的路径,而其他 (包括 Web 服务器) 可以读取他们知道路径并可以创建/写入文件的文件。

一些缓存插件也希望有一个可以写入的 wp-content/cache 目录 (或类似的) 。相同的权限建议将适用于此。

最后,对于漂亮的永久链接,WordPress 需要能够修改.htaccess 文件,除非您打算手动更新。在这种情况下,您需要 0646 作为文件模式。然而,一旦你已经定下了你的永久链接结构,你通常不需要再次更改,所以你可以关闭额外的写入权限,并将其设置为 0644 。有时,插件或核心升级可能需要访问它,您可以暂时将写入权限重新打开,然后重新关闭。

所有其他文件应具有 0644 权限。如果您是 extra-paranoid,目录应为 0711,但这可能会干扰任何需要从目录中获取文件列表的插件。在这种情况下,或者如果您不那么偏执,请使用 0755,这将允许其他人读取但不能写入。

如果您是共享主机,大多数这是主要的问题。如果您有专用服务器 (包括 VPS),没有其他用户可以访问 ssh /ftp,那么您可以放松一点。我不是说你应该把所有内容都公开写成,但你可能只是信任系统默认值,这可能是 0755 对目录而不是 0711 的权限。

如果它是一个选项,请获得该站点安装的 SSL 证书,一旦您测试过您可以通过 https 访问您的站点,您可以强制使用 SSL 进行管理登录和访问,只要在 wp-config.php 文件之前添加这些行’Stop editing’ 评论:

define('FORCE_SSL_ADMIN', true);
define('FORCE_SSL_LOGIN', true);

参考文献

注:本文内容整合自 Google/Baidu/Bing 辅助翻译的英文资料结果。如果您对结果不满意,可以加入我们改善翻译效果:薇晓朵技术论坛。