科大博客修复无法安装插件、主题等问题
•
2016年9月,我们遇到了两次利用插件漏洞的恶意代码上传事件,
现在修改了 PHP 解释器中的文件访问限制,使得通过 WordPress 后台正常的上传、更新、编辑插件和主题不会受到影响。禁止插件和主题自己修改代码,也就是利用插件漏洞的恶意代码上传将不能得逞(当然部分生成 PHP 模板的插件可能无法使用)。
具体文件访问限制策略如下:
- 非 .php 扩展名的文件禁止执行(与之前相同)
- WordPress 用户上传目录内的文件禁止执行(上传目录相对路径可在 php.ini 里配置,用户不能修改)
- .php 扩展名的文件,只有受信目录内的代码才能写入(受信目录列表可在 php.ini 里配置,用户不能修改)。具体方法是判断 php 调用栈上的每个文件是否都在受信目录内,只要有一个不在就报错。
</wbr>目前受信目录是用户间共享、用户不可修改的 WordPress 核心代码。
此外,之前 blog 注册激活后需要升级数据库。这是因为之前安装 blog 的过程是直接导入一个数据库模板,WordPress 4.6.1 检测到数据库表结构的变化,就提示需要升级。现在修改了安装过程,直接调用 WordPress 的数据库安装函数,装好的 blog 就是最新版本的数据库结构。与 WordPress 原版安装程序略有不同,您将不会收到 WordPress 自动发送的安装成功邮件,因为其中包含明文密码,我们把这个发邮件的过程去掉了。
如果您注册新博客后发现问题,或发现插件、主题无法安装、升级,欢迎报 bug。感谢您对科大博客的支持。