php checkin如果用户名和密码是正确的.txt文件

时间:2017-03-10 14:41:26

标签: php login passwords username

我有一个users.txt文件,其中包含以此格式存储的用户名和密码(出于教育目的,它必须位于.txt文件中):
username1:password1
USERNAME2:密码2

使用md5加密密码。我还有一个登录页面,用户输入用户名和密码。我的问题是,如何检查用户输入的用户名和密码是否正确?

2 个答案:

答案 0 :(得分:1)

密码应使用不可逆的方法保存以确保安全。当需要保存密码时,它使用不可逆功能进行编码并存储。当需要验证密码时,它会再次使用不可逆函数进行编码,并将结果与​​存储的版本进行比较。

在PHP中很简单,只需在存储密码时使用OT.initPublisher,在验证密码时使用password_hash。这是一种非常安全的方法。

答案 1 :(得分:0)

您可以这样做:

<?php
$user_input = $_POST['user'];
$password_input = md5($_POST['pass']);

$file = fopen('users.txt', 'r');

while(!feof($file)){
    $line = fgets($file);
    list($user, $password) = explode(':', $line);
    if(trim($user) == $user_input && trim($password) == $password_input){
        echo 'Logged in';
        break;
    }
}
fclose($file);

使用此代码,您的文件将逐行处理,在每行中用户和密码都是通过以下代码获得的:list($user, $password) = explode(':', $line);然后代码将检查它们是否等于用户输入。如果用户和密码正确,那么您将获得Logged in message并关闭文件。