You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何为WordPress页面设置密码保护并通过PHP函数正则验证密码

嘿,我完全get你的需求——用基于自家猫咪名字的简单正则来做WordPress页面的密码验证,虽然你清楚这种方式安全性不高,但用来保护家庭照片足够对吧?下面给你一个落地的实现方案,一步步来:

实现基于猫咪姓名的WordPress页面密码验证

1. 编写自定义密码验证函数

首先我们写一个PHP函数,核心是用正则表达式匹配猫咪姓名的多种合规形式(比如大小写变化、加简单后缀/前缀)。你可以根据自家猫咪的名字和想要的规则灵活调整正则:

function validate_cat_photo_password($submitted_password) {
    // 替换成你家猫咪的真实姓名,比如"Orange"
    $cat_name = 'Orange';
    
    // 构建正则规则:这里示例匹配大小写不敏感,允许末尾加0-2位数字或一个下划线
    // 你可以按需修改,比如允许前缀(如"my-")、更多特殊字符等
    $safe_cat_name = preg_quote($cat_name, '/'); // 转义特殊字符,避免正则报错
    $pattern = '/^' . $safe_cat_name . '([0-9]{0,2}|_)?$/i';
    
    // 执行正则匹配,返回验证结果
    return preg_match($pattern, $submitted_password) === 1;
}

正则规则说明(可自定义)

  • i 标记:大小写不敏感,比如"orange"、"ORANGE"、"OrAnGe"都能匹配
  • ([0-9]{0,2}|_)?:可选后缀,允许加0到2位数字,或者一个下划线
  • 如果想加前缀,比如允许"my-Orange",可以把正则改成:/^(my-)?' . $safe_cat_name . '([0-9]{0,2})?$/i

2. 在WordPress页面中集成验证逻辑

接下来把验证逻辑和页面内容结合起来。你可以创建一个自定义页面模板,或者把代码添加到现有页面的模板文件中:

// 处理密码提交逻辑
if (isset($_POST['cat_photo_password'])) {
    // 清理用户输入,避免安全风险
    $submitted_pw = sanitize_text_field($_POST['cat_photo_password']);
    
    if (validate_cat_photo_password($submitted_pw)) {
        // 验证通过,显示家庭照片内容
        ?>
        <div class="cat-photos">
            <h2>我家猫咪的可爱瞬间 🐱</h2>
            <!-- 这里放你的照片HTML,或者调用WordPress媒体库的图片 -->
            <img src="/wp-content/uploads/2024/cat1.jpg" alt="猫咪照片1">
            <img src="/wp-content/uploads/2024/cat2.jpg" alt="猫咪照片2">
        </div>
        <?php
    } else {
        // 验证失败,提示错误并重新显示表单
        echo '<p style="color: #dc3232; font-weight: bold;">密码不对哦,请重试!</p>';
        show_cat_password_form();
    }
} else {
    // 首次访问页面,显示密码输入表单
    show_cat_password_form();
}

// 生成密码输入表单的辅助函数
function show_cat_password_form() {
    ?>
    <form method="post" class="cat-password-form">
        <label for="cat_photo_password">输入密码查看照片:</label>
        <input type="password" id="cat_photo_password" name="cat_photo_password" required>
        <button type="submit" style="margin-left: 10px;">确认查看</button>
    </form>
    <?php
}

3. 注意事项

  • 正如你所知,这种验证方式安全性较低,只适合非敏感的家庭内容,别用在涉及隐私或重要数据的场景
  • 代码可以放在你的主题functions.php文件中,或者创建一个简单的自定义插件,这样主题更新时不会丢失代码
  • 如果想稍微提升一点安全性,可以给猫咪姓名加固定组合,比如名字+生日后两位,正则改成/^' . $safe_cat_name . '\d{2}$/i

内容的提问来源于stack exchange,提问作者e40

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.29 07:45:53