密码保护网页



标题可能有点误导,但我将在这里进行解释。基本上,当我把我的网站置于"离线模式"时,我有一个管理员可以用密码登录的部分。(他们是而不是使用帐户登录)在本例中,密码为"password"。当用户输入正确的密码时,它应该将他们重定向到网页,尽管不是,但它只是在回应"不正确的密码"——事实上它是正确的。

正如你可能知道的,代码是我编的。我预计这不会奏效,因为我还处于学习PHP的早期阶段

HTML:

<div class="backdroplogin">
  <h2>Login to your account:</h2>
  <form action="/Offline" method="GET">
    <input type ="password" name="password_login" size="25" Value="" />
    <input type="submit" name="login" value="Login" />
</div>
  </form>

PHP:

//ADMIN LOGIN
$password = "AbCd0987connekt£*^%";
if (isset($_GET["password_login"])) {
   $password_login = $_GET["password_login"];
   if ($password_login == $password) {
   header("Location:/Admin/Panel");
 } else {
   echo "Incorrect password";
 }
 }

谢谢你的帮助。

就像Svetlio说的那样。。使用get方法发送密码是个坏习惯。因此,在html表单中使用method="post",在php中使用$_POST["password_login"]

在你的文本中,你说你使用"password"作为这个工具的密码,而在你的php中,你检查发送的密码是否等于"AbCd0987connekt£*^%",所以如果你输入密码,你应该使用"AbCd0987connekt£*^%"。。。或者你是说你使用"$password"

另一个提示:为了提高代码的可读性,请尝试缩进:)

您可以验证密码是否正确,并将标志放入会话变量中。然后在管理页面上检查该会话标志是否可以正确访问。

if($_SESSION['IsAdmin'] === true {
  //load/redirect to page
} else {
  die("You aren't an admin.");
}

此外,正如其他人所说,不要使用GET作为密码,也绝对不要将其作为明文传递。

我同意这一评论。但只是为了回答你的问题:

你的脚本中一切都很好,但我认为当你说"这个例子的密码是‘密码’,而密码恰恰是:AbCd0987connekt£*^%,就像你在代码中写的那样。我在我的平台中复制了你的代码(更改了操作),它按照你的意愿工作。

相关内容

  • 没有找到相关文章

最新更新