热搜词
发表于 2021-11-16 17:19:32 | 显示全部楼层 |阅读模式
利用txt文本直接添加用户名跟密码实现简单登录
使用txt文件进行身份验证的Loginscript


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

我的代码:



<?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>';
    }
}
?>
由于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
通知,和单词之间没有空格。



来源:http://cn.voidcc.com/question/p-cckjqtmb-ur.html

全部评论0
回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|Archiver|手机版|小黑屋|管理员之家 ( 苏ICP备2023053177号-2 )

GMT+8, 2024-12-27 18:07 , Processed in 0.187679 second(s), 22 queries .

Powered by Discuz! X3.5

Cpoyright © 2001-2024 Discuz! Team