if(isset($_POST['password']) && $_POST['password'] == '19') {
    header('Location: vi.php');
    exit;
}

// 如果已经输入过密码,则直接显示网站内容
if(isset($_POST['password'])) {
    echo ' _欢迎观看';
} else {
    // 如果没有输入过密码,则显示密码输入框
    echo '<form method="post"><input type="password" name="password" placeholder="请输入密码"></form>';

    // 10秒后自动锁定
    echo '<script>
        setTimeout(function() {
            document.body.innerHTML = "<form method='post'><input type='password' name='password' placeholder='请输入密码'></form>";
        }, 10000);
    </script>';
}

代码解释:

  1. **增加判断条件:**在代码开头,添加了一个 if 判断语句,用于检查用户是否已经输入了正确的密码。如果 $_POST['password'] 存在且等于 '19',则直接跳转到 vi.php 页面并结束脚本执行,防止重复跳转。

  2. **显示网站内容或密码输入框:**代码使用另一个 if 判断语句,判断用户是否已经输入过密码。如果已经输入过,则直接显示网站内容。如果没有输入过,则显示密码输入框,并设置 10 秒后自动锁定。

优化后的代码逻辑更清晰,避免了用户在输入正确密码后重复跳转到主页,并解决了 10 秒自动锁定问题,提高了网站安全性,也提升了用户体验。

PHP 网站密码验证优化:防止重复跳转和自动锁定

原文地址: https://www.cveoy.top/t/topic/nofb 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录