0
votes

Erreur de décalage indéfinie du tableau PHP 2 Dimensional

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. XXX PRE>

Contenu des utilisateurs.txt: P>

beavis,password||>><<||butthead,password2||>><<||dana,alien||>><<||fox,believe


5 commentaires

S'il vous plaît imprimer la valeur de $ contentarray2


I $ I <= Tailleof ($ CUSTAURRAY2) et $ i2 <= Taille de ($ CUSTAURRAY2 [$ I]) 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é


4 Réponses :


0
votes

Utiliser << / code> au lieu de <= dans les deux pour les boucles xxx


0 commentaires

0
votes

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?

Couple d'autres choses - Utilisez File_Get_Contents () en tant que raccourci pour Fopen / Fread / FCLose et lisez uniquement le fichier si vous allez l'utiliser (à l'intérieur du principal si ) xxx


0 commentaires

0
votes

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";
     }
}


0 commentaires

0
votes

Vous pouvez l'essayer xxx

mettre ceci ( thermibultif || >> << || 123456 kabir || >> << || 12345678 Jack || >> < <|| 987654 ) Texte dans les utilisateurs.txt fichier


0 commentaires