需要密码才能查看网页[jQuery,JavaScript或PHP]



我有一个页面,我想用密码保护。如果用户点击 URL www.webpage.com/page.php,则应该可以访问此页面 它将与验证码一起通过电子邮件发送给用户。

我的大部分页面都是用jQuery编写的。我想知道如何防止在没有正确密码的情况下访问该页面。用户输入正确的密码并验证后,将显示内容。

我尝试使用 jQuery 对话框做一些事情,并隐藏内容然后在验证后显示它,但是如果用户查看页面的源代码,他们可以查看内容。

我应该怎么做?

我只是想避免创建新页面。我想我将不得不使用会话。

是的,您可以这样做,但是如果您仅通过密码客户端保护页面,那甚至不是一个好主意,因为用户可以修改JavaScript/jquery,您可以在验证密码后通过ajax加载内容。

为了防止没有密码的访问,不要加载密码不验证的数据(因为我认为您正在通过 ajax 验证密码)

如果你只是想要一个快速简便的解决方案,你也可以考虑使用HTTP身份验证和PHP。它可以像下面一样简单

<?
header("Content-type: text/html; charset=utf-8");
if(empty($_SERVER['PHP_AUTH_USER'])) {
    header('WWW-Authenticate: Basic realm="Please input"');
    header('HTTP/1.0 401 Unauthorized');
    echo 'Please enter the correct username and password.';
    exit;
} else {
    echo "Username: ".$_SERVER['PHP_AUTH_USER']."<br>";
    echo "Password: ".$_SERVER['PHP_AUTH_PW']."<p>";
    $username = "demo";
    $password = "demo";
    if(($_SERVER['PHP_AUTH_USER'] != $username) || ($_SERVER['PHP_AUTH_PW'] != $password)) {
        echo "Login Failed!";
    } else {
        echo "You're in!";
    }
}
?>

您还可以在此处找到更详细的实现。

您需要验证他们在PHP中使用(正确的)密码,然后才实际将内容输出给他们。如果他们没有密码,那么将其隐藏在可见性之外是没有赢的局面。

通常,会话变量用于此目的。验证脚本检查用户登录名/密码并被接受,为用户分配会话变量。

然后在您的实际代码(对于秘密页面)中,您检查此会话变量,如果它在那里,您继续向用户显示内容,如果不匹配,则显示错误消息或通过header()将用户重定向到另一个页面。

最新更新