密码保护网页

时间:2014-04-10 14:51:17

标签: php html login passwords webpage

标题可能有点误导,但我会在这里解释一下。 基本上,当我将我的网站置于离线模式时#39;我有一个管理员可以使用密码登录的部分。 (他们使用他们的帐户登录)密码是'密码'对于这个例子。当用户输入正确的密码时,它应该将其重定向到网页,不管它是什么,它只是回显“密码不正确”。 - 当它确实是正确的时候。

代码由我组成,你可能会说。我希望这不起作用,因为我还处于学习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";
 }
 }

感谢您的帮助。

3 个答案:

答案 0 :(得分:1)

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

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

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

答案 1 :(得分:0)

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

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

另外,和其他人一样说 - 不要使用GET作为密码,并且绝对不能将它们作为明文传递。

答案 2 :(得分:0)

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

你的脚本中的所有内容都可以正常运行,但我认为你在这个例子中说“密码是'密码'时会感到困惑,而密码恰好是:AbCd0987connekt£* ^%,因为你在代码中写了它我在你的平台上复制了你的代码(改变了动作),它可以按你的意愿工作。

相关问题