Loginscript使用txt文件进行身份验证

时间:2017-07-26 17:55:06

标签: php nosql

我想通过使用文本文件使用NoSQL创建一个简单的登录脚本。 目前,用户凭据存储在代码中,我无法将其存储在外部。

我的代码:

<?php
$error = "";
if(isset($_POST['username'],$_POST['password'])){

    $user = array(
                    "user" => "demo",
                    "pass"=>"demo"          
            );
    $username = $_POST['username'];
    $pass = $_POST['password'];
    if($username == $user['user'] && $pass == $user['pass']){
        session_start();
        $_SESSION['simple_login'] = $username;
        header("Location: home.php");
        exit();
    }else{
        $error = '<div class="alert alert-danger">Invalid Login</div>';
    }
}
?>

感谢您的任何建议,谢谢!

1 个答案:

答案 0 :(得分:1)

因为OP说安全性不是问题,所以这个代码可供他/她使用 但是这个代码不应该在实时网页上使用,因为它有许多安全漏洞。

您可以使用file_get_contents()读取文本图块 在我的示例中,我使用,作为用户名和密码之间的分隔符,因此我可以使用,进行爆炸以将它们分开。
我使用array_combine()来创建与关联命名键相同的数组 足够的谈话......

<?php
$error = ""; 
if (isset($_POST['username'],$_POST['password'])){
    $arr = array("user", "pass");
    $file_data = file_get_contents("path_and_filename.txt");

    $user = array_combine($arr, explode(",", $file_data));
    /*$user = array(
                     "user" => "demo",
                     "pass"=>"demo"          
            );*/
    $username = $_POST['username'];
    $pass = $_POST['password'];
    if($username == $user['user'] && $pass == $user['pass']){
       session_start();
        $_SESSION['simple_login'] = $username;
        header("Location: home.php");
        exit();
    }else{
        $error = '<div class="alert alert-danger">Invalid Login</div>';
    }
}
?>

上述代码的文本文件示例。

demo,demo

...

//username,password

请注意,和单词之间没有空格。