Mots de passe Php login store dans txt

Maintenant, je sais que le stockage des mots de passe dans un fichier texte n'est pas sécurisé, mais ne vous inquiétez pas. La sécurité n'est pas mon objectif ici, c'est comme l'un de ces sites Web hackme.
Donc, j'ai besoin de savoir comment stocker les noms d'utilisateur et les mots de passe dans un fichier texte, jusqu'à présent, j'ai ce tableau

$logins = array('Example' => '123','test' => '123','simon' => '123'); 

Et cette déclaration si

 if (isset($logins[$Username]) && $logins[$Username] == $Password){ /* Success: Set session variables and redirect to Protected page */ $_SESSION['UserData']['Username']=$logins[$Username]; header("location:index.php"); exit; } 

Comment puis-je le faire plutôt que de les stocker en tant que liste, je peux les stocker dans un fichier texte, puis exécuter l'instruction if, sur le fichier texte?

Vous pouvez créer un type de chose JSON et le référer comme un tableau. Préparez donc le fichier en premier. Le contenu de passwords.json (ou passwords.txt , appelez ce que vous voulez):

 {} 

Et maintenant, ce que vous devez faire, c'est ce qui suit:

  • Lisez le contenu du fichier.
  • Analysez-les dans un tableau associatif.
  • Vérifiez les clés pour l'existence du nom d'utilisateur.
  • Vérifiez le mot de passe.

Donc, en définitive, le code serait quelque chose comme:

 <?php // Read the file. $users = file_get_contents("passwords.json"); // Convert into an associative array. $users = json_decode($users); // Get the input from the user. $username = $_POST["username"]; $password = $_POST["password"]; // Check the validity. if (array_key_exists($username, $users) && $users[$username] == $password) { // Valid user. $_SESSION["user"] = array($username, $password); } else { echo "Not Right!"; } ?> 

Et si vous voulez stocker les utilisateurs, il vous suffit de faire le contraire.

  1. Obtenez le nom d'utilisateur et le mot de passe.
  2. Lisez la liste d'utilisateurs d'origine dans un tableau.
  3. Ajoutez le nouveau nom d'utilisateur et mot de passe.
  4. Convertissez-le en JSON.
  5. Enregistrez-le dans le fichier.

Le code final:

 <?php // Read the file. $users = file_get_contents("passwords.json"); // Convert into an associative array. $users = json_decode($users); // Get the input from the user. $username = $_POST["username"]; $password = $_POST["password"]; // Store the new one into the array. $users[$username] = $password; // Convert back to JSON. $users = json_encode($users); // Put it into the file. file_put_contents("passwords.json", $users); ?>