Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/227.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/84.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 保护网页的密码_Php_Html_Login_Passwords_Webpage - Fatal编程技术网

Php 保护网页的密码

Php 保护网页的密码,php,html,login,passwords,webpage,Php,Html,Login,Passwords,Webpage,标题可能有点误导,但我会在这里解释。 基本上,当我将我的网站置于“离线模式”时,我有一个管理员可以使用密码登录的部分。(他们是而不是使用他们的帐户登录)本例中的密码为“password”。当用户输入正确的密码时,它应该将他们重定向到网页,不管它是什么,它只是回显“不正确的密码”——实际上它是正确的 正如你可能知道的,代码是我编的。我希望这不会奏效,因为我还处于学习PHP的早期阶段 HTML: 谢谢你的帮助。就像斯维特利奥说的。。使用get方法发送密码是一个坏习惯。因此,在html表单中使用met

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

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

HTML:


谢谢你的帮助。

就像斯维特利奥说的。。使用get方法发送密码是一个坏习惯。因此,在html表单中使用
method=“post”
,在php中使用
$\u post[“password\u login”]

在您的文本中,您说您使用
“password”
作为此工具的密码,而在php中,您检查发送的密码是否等于
“AbCd0987connekt*^%”
,因此如果您输入密码,您应该使用
“AbCd0987connekt*^%”
。。。或者您的意思是使用
“$password”


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

您可以验证密码是否正确,并在会话变量中添加一个标志。然后在“管理”页面上检查会话标志是否正确

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

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

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


在您的脚本中一切正常,但我认为您在说“密码是‘password’时有点困惑。在本例中,密码是:AbCd0987connekt;*^%。正如您在代码中所写的那样。我在我的平台中复制了您的代码(更改操作)而且它可以按照您的意愿工作。

首先,永远不要将密码作为GET参数抛出!!!!永远!:)…更不用说作为纯文本,groanAs作为其他保护手段,我有一个IP标识符。如果用户访问/Admin/Panel&没有列出的IP,他们会被重定向:那么为什么您需要这样的页面?使用URL或PHP 5.5的函数。不是吗ess与纯文本密码;它会咬你在“你知道什么”和咬你硬。;-)
//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";
 }
 }
if($_SESSION['IsAdmin'] === true {
  //load/redirect to page
} else {
  die("You aren't an admin.");
}