Je suis nouveau à PHP et j'ai créé une page Web pour prendre un nom d'utilisateur et votre mot de passe d'entrée, puis comparez-la à une liste de ceux stockés pour accéder ou refuser l'accès au site. Mon code fonctionne correctement pour ce que j'ai conçu pour le faire, mais je continue à obtenir des erreurs de compensation indéfinies. Contenu des utilisateurs.txt: P> beavis,password||>><<||butthead,password2||>><<||dana,alien||>><<||fox,believe
4 Réponses :
Utiliser << / code> au lieu de <= code> dans les deux pour les boucles code>
Bien que vous ayez résolu votre problème, je voulais montrer une méthode alternative de faire cela.
L'idée principale est de ne pas faire de nombreuses étapes intermédiaires. Pendant que vous lisez le fichier, pourquoi ne pas vérifier le nom d'utilisateur et le mot de passe à ce stade? P>
Couple d'autres choses - Utilisez File_Get_Contents () Code> en tant que raccourci pour Fopen / Fread / FCLose Code> et lisez uniquement le fichier si vous allez l'utiliser (à l'intérieur du principal si code>) p>
Vous pouvez également créer un tableau associatif avec le nom d'utilisateur, le mot de passe pour rendre le si accordé facile.
$myFile = fopen("includes/users.txt","r");
$content = fread($myFile,filesize("includes/users.txt"));
fclose($myFile);
// retrieve user input values
if (isset($_POST['user']) && isset($_POST['pass'])) {
$enteredUser = $_POST['user'];
$enteredPass = $_POST['pass'];
if(in_array($enteredUser . "," . $enteredPass, $content)){
echo "Access Granted";
}else{
echo "Access denied";
}
}
Vous pouvez l'essayer mettre ceci ( thermibultif || >> << || 123456 kabir || >> << || 12345678 Jack || >> < <|| 987654 code>) Texte dans les utilisateurs.txt fichier p> p>
S'il vous plaît imprimer la valeur de $ contentarray2
I $ I <= Tailleof ($ CUSTAURRAY2) CODE> et$ i2 <= Taille de ($ CUSTAURRAY2 [$ I]) code> devrait être$ i et $ i2@Sterlingh: pas de soucis :)
Avez-vous dit à Beavis et Butthead que vous stockiez leurs mots de passe en texte brut dans un fichier TXT? Toutes ces récits de nouvelles sur les fuites de mot de passe sont généralement "juste" des hachages de mots de passe qui sont divulgués. Mais vous stockez ensuite en tant que texte brut dans un fichier TXT accessible par n'importe qui. Pensez à ce que vous faites. Si vous êtes en Europe, GDPR vous coûtera beaucoup d'amendes si cela se découvre.
@Andreas, le titre de la page Web peut donner à cela un bit système d'insécurité title> code>