CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

Besoin Aide simple programme PHP

ycF68
ycF68
Niveau 12
27 février 2016 à 18:57:06

Bonsoir à tous, je bloque sur un simple programme PHP.
Je souhaiterai envoyer le mot de passe correspondant à l'adresse email par mail justement (systeme de mot de passe oublié)

Je reçois un email mais pas le mot de passe.
https://gyazo.com/1ff9a372e94c5c517d95770decbf0818

J'ai fais un select motdepasse mais je ne sais pas comment procèder pour le récupérer via mail.
Merci de votre aide

midoriiro
midoriiro
Niveau 17
27 février 2016 à 19:21:19

Salut,

Tu ne fais rien avec ta variable $result a part un bête echo. Inclut la en tant que paramètre dans ta fonction mail.

Je me trompe peut être je n'ai pas fais de php depuis la version 4 :noel:

ycF68
ycF68
Niveau 12
27 février 2016 à 19:36:43

Le 27 février 2016 à 19:21:19 midoriiro a écrit :
Salut,

Tu ne fais rien avec ta variable $result a part un bête echo. Inclut la en tant que paramètre dans ta fonction mail.

Je me trompe peut être je n'ai pas fais de php depuis la version 4 :noel:

merci pour ta réponse, je le sais très bien :noel: en faite c'est ça le problème je ne sais pas quoi mettre pour recevoir le mot de passe en l'etat.
J'ai testé pas mal de possibilité mais mon manque de connaissance me bloque malgrès mes recherches...

midoriiro
midoriiro
Niveau 17
27 février 2016 à 19:44:39

La doc devrait t'aider http://php.net/manual/fr/function.mail.php ;)

ycF68
ycF68
Niveau 12
27 février 2016 à 19:50:41

En faite je sais envoyer un mail, pas de soucis de ce coté là, mon soucis c'est que j'ai fait un "select motdepasse" depuis ma base de donnée. Je ne sais pas comment récupérer le mot de passe et le mettre sous forme de variable.

fluxies
fluxies
Niveau 17
28 février 2016 à 10:27:54

Tu l'as déjà à la première requête le mot de passe, tu obtient toute une ligne représentant un membre, son mot de passe inclus.

N'oublis pas de mettre ton mail en UNIQUE dans le sql aufait :)

Sinon c'est vraiment pas propre de mettre le password en clean, ca représente un grand trou en sécurité, le mec qui arrive à avoir accès à seulement ta BDD, il récupère tout. Ainsi que toi. C'est pas très éthique non plus de pouvoir voir le mdp de tous tes utilisateurs.
Après je sais pas dans quel contexte tu fais ca, mais ce serait bien de faire les choses bien nan ?

Tu te demandes jamais pourquoi les sites ne te renvois pas ton mdp mais te propose de le réinitialiser ? C'est parcequ'ils l'ont pas en clair.
Mais comment ca marche alors ? À l'inscription, ils vont hashé ton mdp selon un algo (genre sha1), et ensuite à ta prochaine connexion ils compareront ton nouveau mot de passe entré à celui hashé dans la base de donnée.
Tu pourrais éssayer avec les fonction d'encryptage/hashage md5 etc. Je m'y connais pas trop la-dessus, donc je pourrais pas te dire comment tu fais techniquement.
Dans mon cas, je register dans une partie de mon framework l'encodage que je veux, c'est souvent à base de sha1, je crois que tu as une fonction pour le faire en PHP.
Et si tu veux aller plus loin, tu ajoutes une key pour l'encodage définie dans ton application, enfin renseigne toi parceque je pourrais pas te dire comment le mettre en place. (terme 'salt' )

ycF68
ycF68
Niveau 12
28 février 2016 à 10:56:26

Merci de ta réponse, pas de soucis de ce côté là, je travaille uniquement en local :hap:

AzazelBee
AzazelBee
Niveau 10
28 février 2016 à 11:23:30

Le 28 février 2016 à 10:27:54 fluxies a écrit :
Tu te demandes jamais pourquoi les sites ne te renvois pas ton mdp mais te propose de le réinitialiser ? C'est parcequ'ils l'ont pas en clair.
Mais comment ca marche alors ? À l'inscription, ils vont hashé ton mdp selon un algo (genre sha1), et ensuite à ta prochaine connexion ils compareront ton nouveau mot de passe entré à celui hashé dans la base de donnée.
Tu pourrais éssayer avec les fonction d'encryptage/hashage md5 etc. Je m'y connais pas trop la-dessus, donc je pourrais pas te dire comment tu fais techniquement.
Dans mon cas, je register dans une partie de mon framework l'encodage que je veux, c'est souvent à base de sha1, je crois que tu as une fonction pour le faire en PHP.
Et si tu veux aller plus loin, tu ajoutes une key pour l'encodage définie dans ton application, enfin renseigne toi parceque je pourrais pas te dire comment le mettre en place. (terme 'salt' )

J'approuve totalement, mais je vais rajouter des précisions sur ce point, et car ce que tu recommande peut désormais être fait en une seule ligne pratiquement, avec le hash + salt à la fois.

Depuis PHP 5.5, il est possible d'utiliser la fonction password_hash("le mot de passe", PASSWORD_DEFAULT) afin d'obtenir un hash avec salt à placer en base de donnée.
Et pour l'authentification aussi simplement la fonction password_verify("le mot de passe", "le hash issu de la bdd") renvoyant un booléen TRUE ou FALSE si ça concorde ou non :ok: .

(c'est important d'encourager ces bonnes pratiques surtout quand c'est aussi facile à mettre en place :oui: )

Et un reset ne prend pas 1h à mettre en place (une valeur random à mettre à la demande en BDD, une URL dans le mail contenant cette valeur random, la page de reset checkant ça avec un GET, et si tout est ok, proposant un formulaire ré-effectuant un password_hash et écrasant le hash précédant en BDD avec une query UPDATE :oui: )

Liens à ce sujet:
https://secure.php.net/manual/fr/function.password-hash.php
et
https://secure.php.net/manual/fr/function.password-verify.php

Sous forums
  • Aide à l'achat Mac
  • Macintosh
  • Création de sites web
  • Création de Jeux
  • Linux
  • Programmation
  • Internet
  • Steam Deck
  • Hardware
La vidéo du moment