


Yii2 Opération de mot de passe oublié basée sur la vérification de l'e-mail
Le contenu de cet article concerne l'opération de mot de passe oublié de Yii2 basée sur la vérification des e-mails. Il a une certaine valeur de référence. Maintenant, je le partage avec vous. Les amis dans le besoin peuvent s'y référer
J'en ai parlé. envoi d'e-mails avant la fonction, nous allons maintenant utiliser la fonction d'envoi d'e-mails pour faire une petite démo
Déterminons d'abord quel processus nous devons effectuer pour réaliser le mot de passe oublié
1. 弹出窗口,提示用户输入用户名和邮箱。2. 验证邮箱,利用md5等等加密拼接token,发送token,当前时间戳,账户名等属性。3. 用户点击邮箱链接,到指定控制器,验证我们的token和时间是否超时。4. 如果都验证成功,则进入修改密码操作
Si vous cliquez sur Mot de passe oublié et nous entrerons la méthode correspondante du contrôleur actuel.
Vérifiez l'e-mail et le nom d'utilisateur saisis par l'utilisateur. Si la vérification réussit, effectuez notre opération d'envoi d'e-mail
//模型文件代码 public function seekPass($post) { $this->scenario = "seekPass"; if($this->load($post)&&$this->validate()) { $time = time(); $adminuser = $post['Admin']['adminuser']; $token = $this->createToken($post['Admin']['adminuser'],$time); //自定义方法,创建一个唯一token $mailer = \Yii::$app->mailer->compose('seekpass',['text'=>'text','adminuser'=>$post['Admin']['adminuser'],'token'=>$_SERVER['HTTP_HOST'].Url::toRoute(['manage/emailchangepass'])."×tamp=".$time."&token=".$token."&adminuser=".$adminuser]); $mailer ->setFrom("1115007981@qq.com") ->setTo("1115007981@qq.com") ->setSubject("黑势力科技") ->send(); if($mailer) return true; } return false; } //拼接的邮箱地址为: http://web.demo.com/shop/access/backend/web/index.php?r=manage/Femailchangepass×tamp=1524052534&token=4575d5050f57baf4a896c3924d972c12&adminuser=admin
Si nous cliquons sur l'adresse e-mail épissée, nous entrerons ensuite la méthode emailchangepass dans notre contrôleur de gestion et transmettrons nos attributs de jeton, d'heure et d'administrateur via la méthode GET
dans le contrôleurdans la couche modèle, nous avons besoin La seule méthode à écrire est la méthode changepass(). Vérifiez que la méthode updateAll() est appelée avec succès
Nous devons vérifier l'actualité de notre temps. La connexion échoue après 5 minutes
- .
Nous devons Pour vérifier si le jeton est le jeton que nous avons initialement créé
nous devons identifier s'il existe actuellement une requête POST. S'il y en a, cela signifie que l'utilisateur. a saisi un mot de passe modifié et vous devez saisir le fichier modèle pour vérifier le mot de passe. Règles
public function actionEmailchangepass(){ $this->layout='login'; $time = Yii::$app->request->get('timestamp'); $adminuser = Yii::$app->request->get('adminuser'); $token = Yii::$app->request->get('token'); $model = new Admin(); $mytoken = $model->createToken($adminuser,$time); if($token!=$mytoken) { $this->redirect(['public/login']); Yii::$app->end(); } if(time()-$time>300) { $this->redirect(['public/login']); Yii::$app->end(); } if(Yii::$app->request->isPost) { $post = Yii::$app->request->post(); if ($model->changepass($post)) { Yii::$app->session->setFlash('info','密码修改成功'); } } $model->adminuser = $adminuser; return $this->render('emailchangepass',['model'=>$model]); }
Copier après la connexion
Cela met fin à ce partage.
J'ai déjà parlé de la fonction d'envoi d'e-mails, nous allons maintenant utiliser la fonction d'envoi d'e-mails pour faire une petite démo
Déterminons d'abord quel processus nous devons effectuer pour oublier le mot de passe
1. 弹出窗口,提示用户输入用户名和邮箱。2. 验证邮箱,利用md5等等加密拼接token,发送token,当前时间戳,账户名等属性。3. 用户点击邮箱链接,到指定控制器,验证我们的token和时间是否超时。4. 如果都验证成功,则进入修改密码操作
Si vous cliquez sur Mot de passe oublié, nous entrerons la méthode correspondante du contrôleur actuel.
Vérifiez l'e-mail et le nom d'utilisateur saisis par l'utilisateur. Si la vérification réussit, effectuez notre opération d'envoi d'e-mail
//模型文件代码 public function seekPass($post) { $this->scenario = "seekPass"; if($this->load($post)&&$this->validate()) { $time = time(); $adminuser = $post['Admin']['adminuser']; $token = $this->createToken($post['Admin']['adminuser'],$time); //自定义方法,创建一个唯一token $mailer = \Yii::$app->mailer->compose('seekpass',['text'=>'text','adminuser'=>$post['Admin']['adminuser'],'token'=>$_SERVER['HTTP_HOST'].Url::toRoute(['manage/emailchangepass'])."×tamp=".$time."&token=".$token."&adminuser=".$adminuser]); $mailer ->setFrom("1115007981@qq.com") ->setTo("1115007981@qq.com") ->setSubject("黑势力科技") ->send(); if($mailer) return true; } return false; } //拼接的邮箱地址为: http://web.demo.com/shop/access/backend/web/index.php?r=manage/Femailchangepass×tamp=1524052534&token=4575d5050f57baf4a896c3924d972c12&adminuser=admin
Si nous cliquons sur l'adresse e-mail épissée, nous entrerons ensuite la méthode emailchangepass dans notre contrôleur de gestion et transmettrons nos attributs de jeton, d'heure et d'administrateur via la méthode GET
dans le contrôleurdans la couche modèle, nous avons besoin La seule méthode à écrire est la méthode changepass(). Vérifiez que la méthode updateAll() est appelée avec succès
Nous devons vérifier l'actualité de notre temps. La connexion échoue après 5 minutes
- .
Nous devons Pour vérifier si le jeton est le jeton que nous avons initialement créé
nous devons identifier s'il existe actuellement une requête POST. S'il y en a, cela signifie que l'utilisateur. a saisi un mot de passe modifié et vous devez saisir le fichier modèle pour vérifier le mot de passe. Règles
public function actionEmailchangepass(){ $this->layout='login'; $time = Yii::$app->request->get('timestamp'); $adminuser = Yii::$app->request->get('adminuser'); $token = Yii::$app->request->get('token'); $model = new Admin(); $mytoken = $model->createToken($adminuser,$time); if($token!=$mytoken) { $this->redirect(['public/login']); Yii::$app->end(); } if(time()-$time>300) { $this->redirect(['public/login']); Yii::$app->end(); } if(Yii::$app->request->isPost) { $post = Yii::$app->request->post(); if ($model->changepass($post)) { Yii::$app->session->setFlash('info','密码修改成功'); } } $model->adminuser = $adminuser; return $this->render('emailchangepass',['model'=>$model]); }
Copier après la connexionCela met fin à ce partage.
Recommandations associées :
Vérification de l'autorisation de réinitialisation Yii2
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Nous recevons généralement des fichiers PDF du gouvernement ou d'autres agences, certains avec des signatures numériques. Après avoir vérifié la signature, nous voyons le message SignatureValid et une coche verte. Si la signature n'est pas vérifiée, la validité est inconnue. La vérification des signatures est importante, voyons comment le faire en PDF. Comment vérifier les signatures au format PDF La vérification des signatures au format PDF le rend plus fiable et le document est plus susceptible d'être accepté. Vous pouvez vérifier les signatures dans les documents PDF des manières suivantes. Ouvrez le PDF dans Adobe Reader Cliquez avec le bouton droit sur la signature et sélectionnez Afficher les propriétés de la signature Cliquez sur le bouton Afficher le certificat du signataire Ajoutez la signature à la liste des certificats de confiance à partir de l'onglet Confiance Cliquez sur Vérifier la signature pour terminer la vérification.

1. Après avoir ouvert WeChat, cliquez sur l'icône de recherche, entrez dans l'équipe WeChat et cliquez sur le service ci-dessous pour entrer. 2. Après avoir entré, cliquez sur l'option outil libre-service dans le coin inférieur gauche. 3. Après avoir cliqué, dans les options ci-dessus, cliquez sur l'option de déblocage/appel pour vérification auxiliaire.

Dans Golang, le codage Unicode et le type de rune sont requis pour vérifier si l'entrée est constituée de caractères pleine chasse. Le codage Unicode est une norme de codage de caractères qui attribue un point de code numérique unique à chaque caractère du jeu de caractères, qui comprend des caractères pleine chasse et des caractères demi-chasse. Le type rune est le type utilisé pour représenter les caractères Unicode en golang. La première étape consiste à convertir l’entrée en une tranche de type rune. Cela peut être converti en utilisant le type []rune de Golang, par exemple.

Le Code du système financier indien est l'abréviation. Les succursales des banques indiennes participant au système de transfert électronique de fonds sont identifiées par un code spécial à 11 caractères. La Reserve Bank of India utilise ce code dans les transactions Internet pour transférer des fonds entre banques. Le code IFSC est divisé en deux parties. Les banques sont identifiées par les quatre premiers caractères, tandis que les succursales sont identifiées par les six derniers caractères. NEFT (National Electronic Funds Transfer), RTGS (Real Time Gross Settlement) et IMPS (Immediate Payment Service) sont quelques-unes des transactions électroniques qui nécessitent des codes IFSC. Méthode Voici quelques méthodes courantes pour valider les codes IFSC à l'aide d'expressions régulières : Vérifiez si la longueur est correcte. Vérifiez les quatre premiers caractères. Vérifiez le cinquième caractère. Che

Golang est un langage de programmation moderne et performant qui implique souvent le traitement de chaînes dans le développement quotidien. Parmi eux, valider si la saisie est en lettres majuscules est une exigence courante. Cet article explique comment vérifier si l'entrée est constituée de lettres majuscules dans Golang. Méthode 1 : utilisez le package Unicode Le package Unicode de Golang fournit une série de fonctions pour déterminer le type de codage des caractères. Pour les lettres majuscules, la plage de codage correspondante est 65-90 (décimal), nous pouvons donc utiliser Unicode

PHP8 est la dernière version de PHP, apportant plus de commodité et de fonctionnalités aux programmeurs. Cette version met un accent particulier sur la sécurité et les performances, et l'une des nouvelles fonctionnalités remarquables est l'ajout de capacités de vérification et de signature. Dans cet article, nous examinerons de plus près ces nouvelles fonctionnalités et leurs utilisations. La vérification et la signature sont des concepts de sécurité très importants en informatique. Ils sont souvent utilisés pour garantir que les données transmises sont complètes et authentiques. La vérification et les signatures deviennent encore plus importantes lorsqu'il s'agit de transactions en ligne et d'informations sensibles, car si quelqu'un est capable de falsifier les données, cela pourrait potentiellement

Dans le monde en ligne moderne, la sécurité des sites Web et la protection de la vie privée des utilisateurs sont devenues des sujets de plus en plus importants. Parmi eux, la méthode technique de vérification homme-machine est devenue l’un des moyens indispensables pour prévenir les attaques malveillantes. GooglereCAPTCHA est un outil largement utilisé pour la vérification homme-machine. Son concept est profondément ancré dans le cœur des gens et sa présence est même visible sur de nombreux sites Web que nous utilisons quotidiennement. Dans cet article, nous explorerons comment utiliser GooglereCAPTCHA pour la vérification en PHP

Avec l'évolution des temps, nous accordons de plus en plus d'attention à la vérification des données, en particulier à la vérification des entrées des utilisateurs. Pour la vérification de la langue, la manière de déterminer avec précision si l'entrée est uniquement composée de caractères chinois est devenue une question importante. En Golang, nous pouvons utiliser le package Unicode et le package regexp pour répondre à cette exigence. 1. Package Unicode Le package Unicode fournit une série de supports de base pour Unicode. Nous pouvons utiliser les fonctions de ce package pour déterminer avec précision si un caractère est un caractère chinois.
