登录系统,密码预设为变量

时间:2016-04-27 07:32:36

标签: javascript php variables login

我是php的新手,我正在尝试创建一个登录系统但不知何故它不起作用。我在变量中预先定义了密码,并创建了一个函数,用于检查输入的密码是否与变量中的密码匹配。

到目前为止,这是我的代码:

  let parameter:[String:String] = ["register_type":"normal", "email" :"mavin5623@gmail.com","password":"password","full_name":"mavin","device_type":"ios"]

2 个答案:

答案 0 :(得分:3)

这不是登录过程应该起作用的方式。 首先,密码应该被散列并存储在数据库中。 从不将密码存储为明文。 其次,密码验证应该发生在服务器端,在PHP文件中。

要解释为什么在前端验证密码是危险的,只需检查代码的这一部分:

if(password=='<?php echo $validkey; ?>')
{

    location.href = "tafels.html";

}

当服务器处理您的PHP脚本时,它会将有效密码回显到生成的HTML中。该HTML将被发送到浏览器。假设有效密码是“p @ $$ w0rd”,如果你检查页面的源代码,你会发现这个:

if(password=='p@$$w0rd')
{

   location.href = "tafels.html";

}

服务器将替换为:

<?php echo $validkey; ?>

使用密码的值。每个人都可以看到这一点。根本不安全。

答案 1 :(得分:1)

为了给你一个开始,这是一个例子,但请注意这个答案https://stackoverflow.com/a/36883388/3799829

登录系统的一个非常简单且无状态(无内存/无会话)的示例

<强>的login.php

<?php

$password = 'Test';
$url = 'tafels.html';

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

?>
<html>
    <head>
        <title>You need a password to continue</title>
    </head>
    <body>
        <form action="" method="POST">
            <input type="password" name="password" placeholder="Password"><button type="submit">Go on !</button>
        </form>
    </body>
</html>