如何在WordPress中彻底禁用源代码编辑?含插件风险及解决办法
问题解答
1. 管理员能否通过文件管理器插件编辑源代码?
是的,define('DISALLOW_FILE_EDIT', true);仅禁用WordPress后台自带的主题/插件文件编辑器,第三方文件管理器插件不受该设置约束,管理员依然可以通过这类插件编辑网站源代码。
2. 不禁用插件安装权限的前提下彻底禁用编辑功能的方法
可以通过以下几种方式实现:
- 调整文件系统权限:将网站核心文件、主题文件、插件文件的权限设为只读(文件权限建议设为
644,目录权限设为755),同时确保服务器运行用户对这些文件无写入权限。注意:该方法可能会影响WordPress核心、插件/主题的自动更新操作,若需要更新可临时调整权限。 - 添加自定义代码限制:在主题的
functions.php文件或自定义插件中加入以下代码,拦截文件编辑操作:
或者通过权限钩子移除所有用户的文件编辑权限:add_action('admin_init', function() { // 拦截常见的文件编辑动作 $blocked_actions = ['edit_file', 'update_file', 'file_editor', 'save_file']; if (isset($_REQUEST['action']) && in_array($_REQUEST['action'], $blocked_actions, true)) { wp_die('文件编辑功能已被禁用', '权限不足', ['response' => 403]); } });add_filter('map_meta_cap', function($caps, $cap, $user_id, $args) { if ($cap === 'edit_files') { return ['do_not_allow']; } return $caps; }, 10, 4); - 使用安全插件:安装专业的WordPress安全插件,这类插件通常提供独立的文件编辑禁用选项,无需修改代码即可实现限制,且不会影响插件安装权限。
内容的提问来源于stack exchange,提问作者Yarseo
相关产品推荐
相关产品推荐

