WordPress模板插件定制

您现在的位置是:首页 > WordPress教程WordPress教程

WordPress暴力攻击防范

查看 WP集市 的更多文章WP集市 2025-09-08 【WordPress教程】 983人已围观

  1. WordPress暴力攻击说白了就是有人拿一堆密码不停试你的后台登录,跟小偷拿一串钥匙试你家门锁差不多。你得先明白wp-login.php这个页面是默认登录入口——就像你家大门钥匙孔,攻击者都盯着这儿怼。别慌,咱一步步加固防线。

  2. 最简单有效的招数是改登录地址。把默认的wp-login.php换成自己人才知道的路径,比如加个后缀?secret_login。在wp-config.php里插这段代码:

    define('WP_LOGIN_NEW_SLUG', 'secret_login'); 
    add_action('login_init', function() {
    if(strpos($_SERVER['REQUEST_URI'], WP_LOGIN_NEW_SLUG) === false) {
        wp_redirect(home_url()); 
        exit;
    }
    });

    这样原始登录页直接跳转到首页,攻击者连门都找不着。

  3. 限制尝试登录次数特别重要。装个插件像Limit Login Attempts ReloadED,但咱追求极致就自己写。在主题functions.php加:

    function track_login_failures() {
    if(isset($_POST['log'])) {
        $failed_attempts = get_transient('login_fails_'.$_SERVER['REMOTE_ADDR']) ?: 0;
        set_transient('login_fails_'.$_SERVER['REMOTE_ADDR'], ++$failed_attempts, 300); 
        if($failed_attempts > 3) wp_block_ip($_SERVER['REMOTE_ADDR']); //自定义封IP函数
    }
    }
    add_action('wp_login_failed', 'track_login_failures');

    这代码记录失败次数,超3次就把IP关小黑屋五分钟。

  4. 双因子认证(2FA)现在已是标配。不用插件的话可以硬核改造登录流程。比如要求额外输入动态令牌:

    add_action('authenticate', function($user, $password) {
    if(!empty($_POST['2fa_code'])) {
        $valid_code = verify_2fa($_POST['2fa_code']); //假设的验证函数
        if(!$valid_code) return new WP_Error('authentication_failed', __('Invalid 2FA code'));
    }
    return $user;
    }, 30, 2);

    当然实际得接Google Authenticator这类服务,但代码逻辑就是卡住没二次验证不让进。

  5. 隐藏版本信息能减少针对性攻击。在functions.php里扔这个:

    remove_action('wp_head', 'wp_generator');
    add_filter('the_generator', function() { return ''; });

    这样别人就查不到你用的WordPress版本,没法用特定版本漏洞攻击。

  6. 文件权限设置很多人忽略。其实wp-content/uploads该设755而非777,配置文件该400权限。用SSH跑:

    chmod 644 wp-config.php
    find /wp-path/ -type d -exec chmod 755 {} \;

    错误权限相当于把保险箱密码贴门上。

  7. 最后必须提XML-RPC接口——这玩意经常被利用做放大攻击。彻底关闭它就在functions.php加:

    add_filter('xmlrpc_enabled', '__return_false');
    remove_action('wp_head', 'rsd_link');

    现代WordPress其实不太需要这个接口,关掉更安全。

  8. 数据库表前缀别用默认wp_。装站时改掉就行,已成型的可以用插件迁移。这样SQL注入时攻击者猜不到表名。

  9. 突然想到个骚操作:用蜜罐陷阱。在登录表单里加个隐藏字段:

    <input type="text" name="honeypot" style="display:none">

    然后后台检查这个字段要是被填了,肯定是机器人在提交,直接封杀。人类看不见这字段自然不会填。

  10. 其实最核心的是保持程序和插件更新。漏洞大多出自旧版本,就像你家的锁生锈了就得换新。设置自动更新或者定期手动更新,比啥防护都管用。

安全是个过程不是结果,没有银弹但多层防御总能吓退大部分攻击者。就像你家不仅装锁还加防盗门链和监控,小偷看了都绕道走。WordPress安全同理,堆叠措施才稳妥。

Tags:

WordPress模板插件定制

WP集市

V管理员
文章 723 篇 | 评论 0 次
最新文章