• 18 Avril 2025, 10:27:03


Auteur Sujet: Problème avec le systeme d'enregistrement/login en y_ini.  (Lu 3291 fois)

0 Membres et 1 Invité sur ce sujet

Hors ligne Oxykaz

  • *
  • Nouveau
  • Messages: 6
    • Voir le profil
Hello tous le monde,

Donc je vais aller directement dans le vive du sujet.

Donc c'est très simple j'ai pris un système de login/register en y_ini et le problème c'est que quand je me connecte après avoir créer mon compte, je peut entrer n'importe quel mot de passe il me dit qu'il est valide. J'ai chercher une solution mais rien je fait donc appel à vous. Et je n'arrive pas non plus a désactiver le cryptage du mdp. Voila j'espère que vous pourrait m'aide je vous laisse le script en entier pour que vous visualiser bien le problème. Merci d'avance.

http://pastebin.com/xHxRtsat

Edit (NV) : J'ai modifié ton lien, tu l'avais mal collé :wink:
« Modifié: 24 Mai 2014, 08:53:28 par Gzsume »

Hors ligne Pirhotau

  • *
  • Nouveau
  • Messages: 11
    • Voir le profil
Re : Problème avec le systeme d'enregistrement/login en y_ini.
« Réponse #1 le: 11 Mai 2014, 23:07:20 »
Salut!
Pour le cryptage, je pense qu'il faut regarder du côté de la fonction WP_Hash. Tu la supprime:

Code: (pawn) [Sélectionner]

// ligne 146
new HashPass[129];
WP_Hash(HashPass, sizeof(HashPass), inputtext);
INI_WriteString(File, "Password", HashPass);

// à remplacer par:
 INI_WriteString(File, "Password", inputtext);

et tu fais de même pour les autres endroits où ça apparait.
Projets:
- FS qui contient de nombreux jeux (Chasse au trésor, course de voitures, braquage d'un fourgon, minis jeux divers (ambulancier, vendeur de glaces...)...) (projet principal)
- FS qui contient un compteur de vitesse, une jauge de carburant, péages et radars (inspirés de scripts de PPC, mais réécris et adaptés à mes besoins), affichage des noms de voitures (réécrit et adapté d'un script de Biltong), concessionnaire automobile.
- FS qui regroupe un grand nombre de commandes utiles (enregistrement dans un fichier de coordonnés pour la création d'objets) ou inutiles (changement de l'heure).
- Des ajouts au GM "LVDM" (gestion de la santé par exemple...)


Hors ligne Ssk

  • *
  • Lulu's Stunt - Le serveur stunt de Lulu !
  • Messages: 8154
    • Voir le profil
Re : Problème avec le systeme d'enregistrement/login en y_ini.
« Réponse #2 le: 11 Mai 2014, 23:09:10 »
Salut, le problème vient du fait que tu utilise des entiers pour stocker ton Hash, alors que la fonction WP_Hash travail sur des chaine de caractères.

Ton 'pPass', se doit d'être une chaine de caractère.
Ainsi, ton INI_Int("Password",PlayerInfo[playerid][pPass]); doit être modifié pour lire une chaine de caractères, etc ...



Derrière tout programme se cache un programmeur, je considère le monde comme un programme.
Mon blog

Hors ligne Oxykaz

  • *
  • Nouveau
  • Messages: 6
    • Voir le profil
Salut!
Pour le cryptage, je pense qu'il faut regarder du côté de la fonction WP_Hash. Tu la supprime:

Code: (pawn) [Sélectionner]

// ligne 146
new HashPass[129];
WP_Hash(HashPass, sizeof(HashPass), inputtext);
INI_WriteString(File, "Password", HashPass);

// à remplacer par:
 INI_WriteString(File, "Password", inputtext);

et tu fais de même pour les autres endroits où ça apparait.

A oui exacte je n'avait pas penser.

Salut, le problème vient du fait que tu utilise des entiers pour stocker ton Hash, alors que la fonction WP_Hash travail sur des chaine de caractères.

Ton 'pPass', se doit d'être une chaine de caractère.
Ainsi, ton INI_Int("Password",PlayerInfo[playerid][pPass]); doit être modifié pour lire une chaine de caractères, etc ...

Euh je ne script pas très bien pourrait tu être plus claire s'il te plait? Merci.

Hors ligne Pirhotau

  • *
  • Nouveau
  • Messages: 11
    • Voir le profil
Re : Problème avec le systeme d'enregistrement/login en y_ini.
« Réponse #4 le: 12 Mai 2014, 00:54:28 »
Ligne 16, dans ton enum, tu as:
Code: (pawn) [Sélectionner]
enum
{
     pPass,
     ...
}
En fait, tel qu'est défini la variable "pPass", c'est un nombre entier, or un mot de passe est une chaine de caractères. Il faudrait donc définir pPass[30] (30 étant la longueur max du mot de passe). Cependant, j'ai jamais testé la création d'ume chaine de caractères au sein d'un array, et je doute que ça marche. Si ça ne marche pas tu peux essayer de creer un nouvel array ne contenant que les mots de passe:
Code: (pawn) [Sélectionner]
MotsDePasse[MAX_PLAYERS][30]; À tester aussi...
Utilisation:
Code: (pawn) [Sélectionner]
INI_int("Password",MotsDePasse[playerid]);
Projets:
- FS qui contient de nombreux jeux (Chasse au trésor, course de voitures, braquage d'un fourgon, minis jeux divers (ambulancier, vendeur de glaces...)...) (projet principal)
- FS qui contient un compteur de vitesse, une jauge de carburant, péages et radars (inspirés de scripts de PPC, mais réécris et adaptés à mes besoins), affichage des noms de voitures (réécrit et adapté d'un script de Biltong), concessionnaire automobile.
- FS qui regroupe un grand nombre de commandes utiles (enregistrement dans un fichier de coordonnés pour la création d'objets) ou inutiles (changement de l'heure).
- Des ajouts au GM "LVDM" (gestion de la santé par exemple...)


Hors ligne Oxykaz

  • *
  • Nouveau
  • Messages: 6
    • Voir le profil
Re : Problème avec le systeme d'enregistrement/login en y_ini.
« Réponse #5 le: 12 Mai 2014, 01:32:57 »
Ligne 16, dans ton enum, tu as:
Code: (pawn) [Sélectionner]
enum
{
     pPass,
     ...
}
En fait, tel qu'est défini la variable "pPass", c'est un nombre entier, or un mot de passe est une chaine de caractères. Il faudrait donc définir pPass[30] (30 étant la longueur max du mot de passe). Cependant, j'ai jamais testé la création d'ume chaine de caractères au sein d'un array, et je doute que ça marche. Si ça ne marche pas tu peux essayer de creer un nouvel array ne contenant que les mots de passe:
Code: (pawn) [Sélectionner]
MotsDePasse[MAX_PLAYERS][30]; À tester aussi...
Utilisation:
Code: (pawn) [Sélectionner]
INI_int("Password",MotsDePasse[playerid]);

Sa ne fonctionne pas.

Hors ligne Pirhotau

  • *
  • Nouveau
  • Messages: 11
    • Voir le profil
Re : Problème avec le systeme d'enregistrement/login en y_ini.
« Réponse #6 le: 12 Mai 2014, 07:33:43 »
Salut!
Lorsque tu dis que ça ne fonctionne pas, qu'est ce qui ne marche pas? Tu as ton problème de d'habitude? Ou alors ça plante lors de la compilations (quelles sont les erreurs alors) ou dans le jeu?

J'avais une autre idée, mais elle n'est finalement pas réalisable...
Projets:
- FS qui contient de nombreux jeux (Chasse au trésor, course de voitures, braquage d'un fourgon, minis jeux divers (ambulancier, vendeur de glaces...)...) (projet principal)
- FS qui contient un compteur de vitesse, une jauge de carburant, péages et radars (inspirés de scripts de PPC, mais réécris et adaptés à mes besoins), affichage des noms de voitures (réécrit et adapté d'un script de Biltong), concessionnaire automobile.
- FS qui regroupe un grand nombre de commandes utiles (enregistrement dans un fichier de coordonnés pour la création d'objets) ou inutiles (changement de l'heure).
- Des ajouts au GM "LVDM" (gestion de la santé par exemple...)


Hors ligne Oxykaz

  • *
  • Nouveau
  • Messages: 6
    • Voir le profil
Salut!
Lorsque tu dis que ça ne fonctionne pas, qu'est ce qui ne marche pas? Tu as ton problème de d'habitude? Ou alors ça plante lors de la compilations (quelles sont les erreurs alors) ou dans le jeu?

J'avais une autre idée, mais elle n'est finalement pas réalisable...

La même que d'habitude.

Hors ligne Ssk

  • *
  • Lulu's Stunt - Le serveur stunt de Lulu !
  • Messages: 8154
    • Voir le profil
Re : Problème avec le systeme d'enregistrement/login en y_ini.
« Réponse #8 le: 12 Mai 2014, 12:42:56 »
Salut, ton code de base était bon, il n'y a rien à changer, autre de ce que je t'ai dit de changer.
Ton système de hash tu dois le garder pour éviter d'avoir des mots de passe en clair.

Ensuite, connais tu la différence entre une chaine de caractère et un integer ?

Si tu ne connais pas la différence je pourrai te l'expliquer tu comprendra déjà ton problème ;)



Derrière tout programme se cache un programmeur, je considère le monde comme un programme.
Mon blog

Hors ligne Oxykaz

  • *
  • Nouveau
  • Messages: 6
    • Voir le profil
Salut, ton code de base était bon, il n'y a rien à changer, autre de ce que je t'ai dit de changer.
Ton système de hash tu dois le garder pour éviter d'avoir des mots de passe en clair.

Ensuite, connais tu la différence entre une chaine de caractère et un integer ?

Si tu ne connais pas la différence je pourrai te l'expliquer tu comprendra déjà ton problème ;)

Salut, et non je ne connais vraiment rien niveau chaine ect je commence le pawno.

Hors ligne Ssk

  • *
  • Lulu's Stunt - Le serveur stunt de Lulu !
  • Messages: 8154
    • Voir le profil
Re : Problème avec le systeme d'enregistrement/login en y_ini.
« Réponse #10 le: 12 Mai 2014, 13:29:33 »
Alors un integer c'est une variable basique, elle ne peut contenir que des nombres et une chaine contient des lettres, si on veut.


Par exemple, pour créer un integer, on fait comme cela :
Code: (pawn) [Sélectionner]
new var;
Par contre pour créer une chaine de 19 caractères, on fait comme cela :
Code: (pawn) [Sélectionner]
new var[20];
Même si j'ai mis 20 entre crochet, cette chaine ne peut contenir que 19 caractères, c'est une règle.


Or, ton hash du mot de passe est une chaine, tu l'enregistre bien en tant que chaine à l'inscription.
Par contre à la lecture du fichier .ini, tu lis le hash comme si c'était un integer.



Derrière tout programme se cache un programmeur, je considère le monde comme un programme.
Mon blog

Hors ligne Oxykaz

  • *
  • Nouveau
  • Messages: 6
    • Voir le profil
Re : Problème avec le systeme d'enregistrement/login en y_ini.
« Réponse #11 le: 12 Mai 2014, 20:26:57 »
Ok merci mais toujours rien je ne comprend pas. Avez vous un tutoriel s'il vous plait car se qui son sur le forum on le même probleme.

Hors ligne Infu

  • *
  • Modo LS - Admin FnF
  • Messages: 3551
    • Voir le profil
Re : Problème avec le systeme d'enregistrement/login en y_ini.
« Réponse #12 le: 12 Mai 2014, 21:11:33 »
http://forum.sa-mp.com/showthread.php?p=1138420

Citer
INI_Integer
Tu as compris là?  :smile:


Adju ♥
(-_-)