搬瓦工建站教程:WordPress禁止搜索非法关键词,预防恶意搜索攻击

2021年2月28日11:40:41 3160字

搬瓦工中文网前段时间分享了一款可以记录WordPress搜索历史的插件【相关文章】。通过这个Search Analytics插件,我们可以清楚地知道网站用户搜索了哪些信息。WordPress自带的搜索功能很容易被一些坏人利用,比如大量的搜索一些广告词,如果这些搜索结果正好被搜索引擎收录了,轻则降低用户体验(搜索网站时看到这些广告词),重则导致网站被K(收录量变为0)。虽然我们可以通过robots.txt文件告知搜素引擎不要收录这些内容,但毕竟不如主动出击比较好。本文将分享一下通过安装插件的方式,主动禁止用户搜索非法关键词。这样,当我们在Search Analytics插件的搜索统计中看到不友好的搜索时,将其加入到搜索关键词黑名单中,以后这些关键词将不再支持搜索,一劳永逸。

一、上传并安装搜索关键词屏蔽插件

本次使用的插件由WordPress大学开发,非常轻量。搬瓦工中文网对插件进行了一些自定义的调整。因为插件并没有上架至WordPress插件库中,所以不能在线安装,只能通过上传的方式手动安装。安装的方式也很简单,我们直接按照下图提示进行即可,没啥难度,需要注意的就是上传后记得启用插件。

WordPress大学原版下载:主力下载

搬瓦工中文网修改版下载:主力下载 | 备用下载(密码:m4mk66)

二、添加禁止搜索的关键词

上传并启用插件后,我们点击设置中的阅读菜单,可以在页面最下方看到非法关键词的文本域输入框,如下图所示。在输入框内我们填写需要屏蔽搜索的关键词,一行输入一个,回车换行后再输入下一个,输入完毕后点击保存更改才能生效。

插件效果如下图所示。当搜索内容中包含任意一个非法关键词时,都会进行自动屏蔽并报错。页面返回的状态码为500,这也保证了搜索引擎不会爬取并索引此页面。另外这个插件已经兼容了上面提到的Search Analytics插件。触发到非法关键词的搜索,其记录不会被保存。这样处理后,我们可以专注于分析那些有用的搜索结果。同时,当有新的非法关键词时,可以提取后进行屏蔽。

三、搜索关键词屏蔽插件源码

插件的代码完全是透明的,大家可以查看插件文件。下面也给出一下搬瓦工中文网修改版的源码:

<?php
/*
Plugin Name: Block Search Illegal Words
Plugin URI: https://www.wpdaxue.com/wordpress-block-search-words.html
Description: 拦截搜索内容中的非法关键词,保障网站稳定运行。
Version: 21.2.2
Author: WPdaxue
Author URI: https://www.wpdaxue.com
License: GPL-3.0
Text Domain: block-search-illegal-words
*/

add_action( 'admin_init', 'wpkj_block_search_words' );
function wpkj_block_search_words() {
    add_settings_field( 'wpkj_block_search_words', '非法关键词', 'wpkj_block_search_words_callback', 'reading' );
    register_setting( 'reading','wpkj_block_search_words' );
}
function wpkj_block_search_words_callback() {
    echo '<textarea name="wpkj_block_search_words" rows="10" cols="50" id="wpkj_block_search_words" class="large-text code">' .
    get_option( 'wpkj_block_search_words' ) . '</textarea>';
    echo '<p class="description">每行一个关键词,建议每个关键词简短一些。</p>';
}

add_action( 'template_redirect', 'wpkj_block_search_words_redirect' );
function wpkj_block_search_words_redirect() {
    if ( is_search() ) {
    global $wp_query;
    $wpkj_block_search_words = get_option( 'wpkj_block_search_words' );
    if ( $wpkj_block_search_words ) {
        $wpkj_block_search_words = str_replace( "\r\n", "|", $wpkj_block_search_words );
        $block_words = explode( '|', $wpkj_block_search_words );
        $search_word = $wp_query->query_vars;
            foreach ( $block_words as $word ) {
                if ( stristr( $search_word['s'], $word ) !== false ) {
                    wp_die( '搜索内容中含有非法关键词,已被本站拦截,请返回重试!' );
                }
            }
        }
    }
}

add_filter( 'mwtsa_exclude_term', 'wpkj_mwtsa_exclude_term', 10, 2 );
function wpkj_mwtsa_exclude_term( $status, $search_term ) {
    if ( class_exists( 'MWTSA_Process_Query' ) ) {
        $wpkj_block_search_words = get_option( 'wpkj_block_search_words' );
        if( $wpkj_block_search_words ) {
            $wpkj_block_search_words = str_replace( "\r\n", "|", $wpkj_block_search_words );
            $block_words = explode( '|', $wpkj_block_search_words );
            foreach ( $block_words as $word ) {
                if ( stristr( $search_term, $word ) !== false ){
                    return true;
                }
            }
        }
    }
}

如果想修改报错信息,那么可以调整35行中的中文部分。

四、搬瓦工新手必读教程和套餐推荐

1. 搬瓦工新手必读教程

  1. 搬瓦工购买教程:《搬瓦工VPS新手用户注册及购买图文教程,支持支付宝和银联支付
  2. 搬瓦工优惠码:BWH3HYATVBJW
  3. 搬瓦工补货通知:《欢迎订阅搬瓦工补货通知&活动推送&加入用户交流群
  4. 搬瓦工套餐推荐:《搬瓦工特价套餐推荐,洛杉矶CN2 GIA,香港CN2 GIA,日本大阪软银
  5. 搬瓦工演示网站:《搬瓦工演示测速网站(SpeedTest速度测试、LookingGlass路由测试)
  6. 搬瓦工测试IP:《搬瓦工旗下14个机房演示网站/测试文件/测试IP汇总和机房选择推荐
  7. 搬瓦工测评汇总:《搬瓦工机房测评:速度测试、延迟测试、路由测试、丢包率等
  8. 搬瓦工KiwiVM:《搬瓦工/BandwagonHOST自带KiwiVM控制面板使用介绍

2. 搬瓦工新手套餐推荐

搬瓦工在售套餐库存监控:https://kucun.52bwg.com

套餐CPU内存硬盘带宽流量价格链接
洛杉矶CN2套餐 | 可选机房:DC3 CN2、DC8 ZNET等共8个
CN2(最便宜)1 核1 GB20 GB1 Gbps1 TB/月$49.99/年点击购买
CN21 核2 GB40 GB1 Gbps2 TB/月$52.99/半年 $99.99/年点击购买
洛杉矶CN2 GIA-E套餐 | 可选机房:DC6 CN2 GIA-E、DC9 CN2 GIA、日本大阪软银等共11个
CN2 GIA-E(最推荐)2 核1 GB20 GB2.5 Gbps1 TB/月$49.99/季度 $169.99/年点击购买
CN2 GIA-E3 核2 GB40 GB2.5 Gbps2 TB/月$89.99/季度 $299.99/年点击购买
香港CN2 GIA套餐 | 可选机房:香港CN2 GIA、香港PCCW共2个
HK2 核2 GB40 GB1 Gbps0.5 TB/月$89.99/月 $899.99/年点击购买
HK4 核4 GB80 GB1 Gbps1 TB/月$155.99/月 $1559.99/年点击购买

选择建议:

  • 入门:洛杉矶CN2套餐,目前最便宜,可选CN2 GT机房,入门之选。
  • 推荐:洛杉矶CN2 GIA-E套餐,价格适中,性能超好,可选机房多,性价比最高。
  • 高端:香港CN2 GIA套餐,价格较高,但是无可挑剔。
weinxin
扫一扫关注微信公众号
“搬瓦工”
BandwagonHOST
  • 本文由 发表于 2021年2月28日11:40:41
  • 除非特殊声明,本站文章均为原创,转载请务必保留本文链接。如有侵权,请联系站长进行处理。