WordPress作为一款非常流行的博客程序,广受站长们喜爱。本文讲述与后台安全、快捷按钮、系统功能等相关的一些最为实用的优化方案。
安全防护及功能优化
修改当前主题的functions.php,加入以下代码:
//保护后台登录 //伪装后台地址,将路径改为${域名}/wp-login.php?user=abc&word=123 //修改以下代码中对应的值 add_action('login_enqueue_scripts','login_protection'); function login_protection(){ if($_GET['user'] != 'abc' && $_GET['word'] != '123') { header('Location: https://www.olzl.net/'); } } //移除自动转换符号功能 //保留输入时的符号,不进行转换 $qmr_work_tags = array( 'the_title', //标题 'the_content', //内容 'the_excerpt', //摘要 'comment_author', //评论作者 'comment_text', //评论内容 'bloginfo', //网站简介 'wp_title', //网站标题 'term_description', //项目描述 'category_description', //分类描述 'widget_title', //小工具标题 'widget_text' //小工具文本 ); foreach ( $qmr_work_tags as $qmr_work_tag ) { remove_filter ($qmr_work_tag, 'wptexturize'); } //插入编辑器快捷按钮 //自定义进行文本编辑时显示的快捷按钮 function appthemes_add_quicktags() { ?> <script type="text/javascript"> QTags.addButton( 'H3', 'H3', '<H3>','</H3>' ); QTags.addButton( 'Pre', 'Pre', '<pre>','</pre>' ); QTags.addButton( '表格', '表格', '<table class="tbnormal"><tbody><tr class="ttl"><td></td><td></td></tr><tr><td></td><td></td></tr></tbody></table>' ); </script> <?php } add_action('admin_print_footer_scripts', 'appthemes_add_quicktags' ); //禁止对附件进行评论 function filter_media_comment_status( $open, $post_id ) { $post = get_post( $post_id ); if( $post->post_type == 'attachment' ) { return false; } return $open; } add_filter( 'comments_open', 'filter_media_comment_status', 10 , 2 ); //移除WP-EMBED function disable_embeds_code_init() { remove_action( 'rest_api_init', 'wp_oembed_register_route' ); add_filter( 'embed_oembed_discover', '__return_false' ); remove_filter( 'oembed_dataparse', 'wp_filter_oembed_result', 10 ); remove_action( 'wp_head', 'wp_oembed_add_discovery_links' ); remove_action( 'wp_head', 'wp_oembed_add_host_js' ); add_filter( 'tiny_mce_plugins', 'disable_embeds_tiny_mce_plugin' ); add_filter( 'rewrite_rules_array', 'disable_embeds_rewrites' ); remove_filter( 'pre_oembed_result', 'wp_filter_pre_oembed_result', 10 ); } add_action( 'init', 'disable_embeds_code_init', 9999 ); function disable_embeds_tiny_mce_plugin($plugins) { return array_diff($plugins, array('wpembed')); } function disable_embeds_rewrites($rules) { foreach($rules as $rule => $rewrite) { if(false !== strpos($rewrite, 'embed=true')) { unset($rules[$rule]); } } return $rules; }
指定favicon位置
开启多站点模式后,一般情况下,默认的favicon.ico被重定向至wp-includes/images/w-logo-blue-white-bg.png,为了防止在更新wp后被覆盖……
方法一
指定favicon图像位置至主题的image目录下,修改文件wp-includes/functions.php,找到“do_favicon”代码段:
# 注释原代码行 //wp_redirect( get_site_icon_url( 32, includes_url( 'images/w-logo-blue-white-bg.png' ) ) ); # 修改为当前主题下的favicon图像 wp_redirect( get_site_icon_url( 32, get_template_directory_uri().'/images/favicon.png' ) );
方法二
修改nginx配置,在server段加入以下规则:
rewrite ^/([_0-9a-zA-Z-]+/)?favicon.ico /favicon.ico last;
原创文章禁止转载:技术学堂 » WordPress基本安全防护和实用优化