


Yii2 Vorgang „Passwort vergessen' basierend auf E-Mail-Verifizierung
Der Inhalt dieses Artikels befasst sich mit dem Passwort-Vergessen-Vorgang von Yii2, der auf der E-Mail-Verifizierung basiert. Jetzt kann ich ihn mit Ihnen teilen.
Ich habe darüber gesprochen Senden von E-Mails vor der Funktion, jetzt verwenden wir die E-Mail-Versandfunktion, um eine kleine Demo zu erstellen
Lassen Sie uns zunächst herausfinden, welchen Prozess wir durchführen müssen, um das vergessene Passwort zu erkennen
1. 弹出窗口,提示用户输入用户名和邮箱。2. 验证邮箱,利用md5等等加密拼接token,发送token,当前时间戳,账户名等属性。3. 用户点击邮箱链接,到指定控制器,验证我们的token和时间是否超时。4. 如果都验证成功,则进入修改密码操作
Wenn Sie auf „Passwort vergessen“ klicken, geben wir die entsprechende Methode des aktuellen Controllers ein.
Überprüfen Sie die vom Benutzer eingegebene E-Mail-Adresse und den Benutzernamen. Wenn die Überprüfung erfolgreich ist, führen Sie unseren E-Mail-Versandvorgang aus
//模型文件代码 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
Wenn wir auf klicken die gespleißte E-Mail-Adresse, dann geben wir die emailchangepass-Methode in unseren Verwaltungscontroller ein und übertragen unsere Token-, Zeit- und Adminuser-Attribute über die GET-Methode
im Controllerin der Modellebene. Wir brauchen Die einzige Methode zum Schreiben ist die Methode changepass(). Überprüfen Sie, ob die updateAll()-Methode erfolgreich aufgerufen wurde
Wir müssen die Aktualität unserer Zeit überprüfen. Die Verbindung schlägt nach 5 Minuten fehl
-
Um zu überprüfen, ob es sich bei dem Token um das Token handelt, das wir ursprünglich erstellt haben
müssen wir feststellen, ob derzeit eine POST-Anfrage vorliegt hat ein geändertes Passwort eingegeben und Sie müssen die Modelldatei eingeben, um die Passwortregeln zu überprüfen
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]); }
Nach dem Login kopieren
Damit ist diese Freigabe beendet.
Ich habe bereits über die E-Mail-Versandfunktion gesprochen, jetzt werden wir die E-Mail-Versandfunktion verwenden, um eine kleine Demo zu erstellen
Lassen Sie uns zunächst klären, welchen Prozess wir durchführen müssen, um das Passwort zu vergessen
1. 弹出窗口,提示用户输入用户名和邮箱。2. 验证邮箱,利用md5等等加密拼接token,发送token,当前时间戳,账户名等属性。3. 用户点击邮箱链接,到指定控制器,验证我们的token和时间是否超时。4. 如果都验证成功,则进入修改密码操作
Wenn Sie auf „Passwort vergessen“ klicken, geben wir die entsprechende Methode des aktuellen Controllers ein.
Überprüfen Sie die vom Benutzer eingegebene E-Mail-Adresse und den Benutzernamen. Wenn die Überprüfung erfolgreich ist, führen Sie unseren E-Mail-Versandvorgang aus
//模型文件代码 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
Wenn wir auf klicken die gespleißte E-Mail-Adresse, dann geben wir die emailchangepass-Methode in unseren Verwaltungscontroller ein und übertragen unsere Token-, Zeit- und Adminuser-Attribute über die GET-Methode
im Controllerin der Modellebene. Wir brauchen Die einzige Methode zum Schreiben ist die Methode changepass(). Überprüfen Sie, ob die updateAll()-Methode erfolgreich aufgerufen wurde
Wir müssen die Aktualität unserer Zeit überprüfen. Die Verbindung schlägt nach 5 Minuten fehl
-
Um zu überprüfen, ob es sich bei dem Token um das Token handelt, das wir ursprünglich erstellt haben
müssen wir feststellen, ob derzeit eine POST-Anfrage vorliegt hat ein geändertes Passwort eingegeben und Sie müssen die Modelldatei eingeben, um die Passwortregeln zu überprüfen
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]); }
Nach dem Login kopierenDamit ist diese Freigabe beendet.
Verwandte Empfehlungen:
Yii2 zurückgesetzte Autorisierungsüberprüfung
Das obige ist der detaillierte Inhalt vonYii2 Vorgang „Passwort vergessen' basierend auf E-Mail-Verifizierung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

Normalerweise erhalten wir PDF-Dateien von der Regierung oder anderen Behörden, teilweise mit digitalen Signaturen. Nach der Überprüfung der Signatur sehen wir die Meldung SignatureValid und ein grünes Häkchen. Wenn die Signatur nicht überprüft wird, ist die Gültigkeit unbekannt. Die Überprüfung von Signaturen ist wichtig. Sehen wir uns an, wie das im PDF-Format geht. So überprüfen Sie Signaturen im PDF-Format. Durch die Überprüfung von Signaturen im PDF-Format wird das Dokument vertrauenswürdiger und die Wahrscheinlichkeit erhöht, dass es akzeptiert wird. Sie können Signaturen in PDF-Dokumenten auf folgende Weise überprüfen. Öffnen Sie die PDF-Datei im Adobe Reader. Klicken Sie mit der rechten Maustaste auf die Signatur und wählen Sie „Signatureigenschaften anzeigen“. Klicken Sie auf die Schaltfläche „Unterzeichnerzertifikat anzeigen“. Fügen Sie die Signatur auf der Registerkarte „Vertrauen“ zur Liste „Vertrauenswürdige Zertifikate“ hinzu. Klicken Sie auf „Signatur überprüfen“, um die Überprüfung abzuschließen

1. Klicken Sie nach dem Öffnen von WeChat auf das Suchsymbol, geben Sie das WeChat-Team ein und klicken Sie zum Betreten auf den Dienst unten. 2. Klicken Sie nach der Eingabe auf die Option „Self-Service-Tool“ in der unteren linken Ecke. 3. Klicken Sie nach dem Anklicken in den Optionen oben auf die Option zum Entsperren/Einspruch für eine zusätzliche Verifizierung.

Die Abkürzung lautet Indian Financial System Code. Indische Bankfilialen, die am elektronischen Geldtransfersystem teilnehmen, werden durch einen speziellen 11-stelligen Code identifiziert. Die Reserve Bank of India verwendet diesen Code bei Internettransaktionen, um Gelder zwischen Banken zu überweisen. Der IFSC-Code ist in zwei Teile unterteilt. Banken werden durch die ersten vier Zeichen identifiziert, während Filialen durch die letzten sechs Zeichen identifiziert werden. NEFT (National Electronic Funds Transfer), RTGS (Real Time Gross Settlement) und IMPS (Immediate Payment Service) sind einige der elektronischen Transaktionen, die IFSC-Codes erfordern. Methode Einige gängige Methoden zur Validierung von IFSC-Codes mithilfe regulärer Ausdrücke sind: Überprüfen Sie, ob die Länge korrekt ist. Überprüfen Sie die ersten vier Zeichen. Überprüfen Sie den fünften Charakter. Che

In Golang sind Unicode-Codierung und Runentyp erforderlich, um zu überprüfen, ob es sich bei der Eingabe um Zeichen in voller Breite handelt. Die Unicode-Kodierung ist ein Zeichenkodierungsstandard, der jedem Zeichen im Zeichensatz, einschließlich Zeichen voller und halber Breite, einen eindeutigen numerischen Codepunkt zuweist. Der Runentyp ist der Typ, der zur Darstellung von Unicode-Zeichen in Golang verwendet wird. Der erste Schritt besteht darin, die Eingabe in ein Runentyp-Slice umzuwandeln. Dies kann mithilfe des Runentyps [] von Golang konvertiert werden, z.

Golang ist eine leistungsstarke, moderne Programmiersprache, die in der täglichen Entwicklung häufig die Verarbeitung von Zeichenfolgen erfordert. Unter diesen ist die Überprüfung, ob die Eingabe in Großbuchstaben erfolgt, eine häufige Anforderung. In diesem Artikel erfahren Sie, wie Sie überprüfen können, ob die Eingabe in Golang aus Großbuchstaben besteht. Methode 1: Verwenden Sie das Unicode-Paket in Golang. Es bietet eine Reihe von Funktionen zur Bestimmung des Codierungstyps von Zeichen. Für Großbuchstaben liegt der entsprechende Kodierungsbereich zwischen 65 und 90 (dezimal), sodass wir Unicode verwenden können

PHP8 ist die neueste Version von PHP und bietet Programmierern mehr Komfort und Funktionalität. Bei dieser Version liegt ein besonderer Schwerpunkt auf Sicherheit und Leistung, und eine der bemerkenswerten neuen Funktionen ist die Hinzufügung von Verifizierungs- und Signierungsfunktionen. In diesem Artikel werfen wir einen genaueren Blick auf diese neuen Funktionen und ihre Verwendung. Verifizierung und Signierung sind sehr wichtige Sicherheitskonzepte in der Informatik. Sie dienen häufig dazu, sicherzustellen, dass die übermittelten Daten vollständig und authentisch sind. Verifizierung und Signaturen werden beim Umgang mit Online-Transaktionen und sensiblen Informationen noch wichtiger, denn wenn jemand in der Lage ist, die Daten zu manipulieren, könnte dies möglicherweise der Fall sein

In der modernen Online-Welt sind Website-Sicherheit und der Schutz der Privatsphäre der Nutzer zu immer wichtigeren Themen geworden. Unter ihnen ist die technische Methode der Mensch-Maschine-Verifizierung zu einer der unverzichtbaren Methoden zur Verhinderung böswilliger Angriffe geworden. GooglereCAPTCHA ist ein weit verbreitetes Tool zur Mensch-Maschine-Verifizierung. Sein Konzept ist tief in den Herzen der Menschen verankert und seine Präsenz ist sogar auf vielen Websites zu sehen, die wir täglich nutzen. In diesem Artikel erfahren Sie, wie Sie GooglereCAPTCHA zur Verifizierung in PHP verwenden

Mit der Entwicklung der Zeit legen wir immer mehr Wert auf die Überprüfung von Daten, insbesondere auf die Überprüfung von Benutzereingaben. Bei der Sprachüberprüfung ist es zu einem wichtigen Thema geworden, genau zu bestimmen, ob die Eingabe ausschließlich aus chinesischen Zeichen besteht. In Golang können wir das Unicode-Paket und das Regexp-Paket verwenden, um diese Anforderung zu erfüllen. 1. Unicode-Paket Das Unicode-Paket bietet eine Reihe von Kernunterstützungen für Unicode. Mit den Funktionen in diesem Paket können wir genau bestimmen, ob es sich bei einem Zeichen um ein chinesisches Schriftzeichen handelt.
