Heim > PHP-Framework > Laravel > So deaktivieren Sie die Bestätigungscode-Funktion in Laravel

So deaktivieren Sie die Bestätigungscode-Funktion in Laravel

PHPz
Freigeben: 2023-04-08 04:30:02
Original
899 Leute haben es durchsucht

Laravel ist ein hervorragendes PHP-Framework, das häufig bei der Entwicklung von Webanwendungen verwendet wird. Im Standard-Benutzerauthentifizierungssystem von Laravel sind Verifizierungscodes standardmäßig aktiviert. Dies gewährleistet die Sicherheit bei der Benutzeranmeldung. In manchen Fällen möchten Sie jedoch möglicherweise die Bestätigungscodes deaktivieren. Wie kann man also Bestätigungscodes in Laravel deaktivieren? In diesem Artikel wird es Ihnen ausführlich vorgestellt.

Bestätigungscode in Laravel

Laravel verwendet standardmäßig den reCAPTCHA-Dienst von Google, um Bestätigungscodes zu generieren. In der Datei config/captcha.php können Sie die Standardoptionen für die Konfiguration des Bestätigungscodes sehen:

'captcha' => [
    'default' => [
        'length' => 6,
        'width' => 150,
        'height' => 40,
        'quality' => 90,
        'math' => true,
        'expire' => 60,
    ],
    //其他选项
]
Nach dem Login kopieren

In Laravel ist die Verwendung von Bestätigungscodes sehr einfach. Im Authentifizierungssystem von Laravel kann der Bestätigungscode aktiviert werden, indem der Anmeldeschnittstelle der folgende Code hinzugefügt wird:

@if (config('captcha.default.enable'))
    <div class="form-group">
        <div class="col-md-offset-4 col-md-4">
            <div class="captcha">
                <span>{!! captcha_img() !!}</span>
                <button type="button" class="btn btn-success btn-refresh"><i class="fa fa-refresh"></i></button>
            </div>
        </div>
    </div>
    <div class="form-group">
        <div class="col-md-offset-4 col-md-4">
            <input id="captcha" type="text" class="form-control" placeholder="{{ trans(&#39;validation.attributes.captcha&#39;) }}" name="captcha">
        </div>
    </div>
@endif
Nach dem Login kopieren

Bestimmen Sie unter anderem in der PHP-Datei, ob der Bestätigungscode generiert werden muss, indem Sie beurteilen, ob er in der Überprüfung aktiviert ist Code-Konfigurationsdatei. Verwenden Sie bei Bedarf die Funktion captcha_image(), um ein Verifizierungscodebild zu generieren. In der HTML-Vorlage wird der Bestätigungscode implementiert, indem das Bild angezeigt wird und der Benutzer die entsprechende Zeichenfolge eingeben kann.

Wie deaktiviere ich Captcha in Laravel?

Bei einigen Apps können Bestätigungscodes unnötig erscheinen oder das Benutzererlebnis beeinträchtigen. Manche Benutzer finden es lästig, zum Anmelden einen Bestätigungscode eingeben zu müssen. Wenn Sie Captcha in Laravel deaktivieren müssen, befolgen Sie bitte diese Schritte:

Schritt 1: Ändern Sie die Konfigurationsdatei

Setzen Sie in config/captcha.php die Aktivierungsoption auf false:

'captcha' => [
    'default' => [
        'length' => 6,
        'width' => 150,
        'height' => 40,
        'quality' => 90,
        'math' => true,
        'expire' => 60,
        'enable' => false, //将enable选项设置为false
    ],
    //其他选项
]
Nach dem Login kopieren

Schritt 2: Entfernen Sie die HTML-Vorlage Code

In Laravel wird der Code zur Generierung des Bestätigungscodes normalerweise in die HTML-Vorlage geschrieben. Nachdem Sie CAPTCHA deaktiviert haben, sollten Sie diesen Code aus der entsprechenden HTML-Vorlage entfernen.

Schritt 3: AuthController ändern

AuthController ist Laravels integrierter Controller für die Benutzerauthentifizierung. Nachdem Sie den Bestätigungscode deaktiviert haben, müssen Sie auch die Methode login() im AuthController ändern.

Löschen Sie bei dieser Methode das folgende Code-Snippet:

if (config('captcha.default.enable')) {
    $rules = $request->rules();
    $rules['captcha'] = 'required|captcha';
    $request->validate($rules);
}
Nach dem Login kopieren

Das obige Code-Snippet wird verwendet, um den Bestätigungscode zu überprüfen und eine Ausnahme auszulösen, wenn der Bestätigungscode nicht übereinstimmt. Nach der Deaktivierung des Bestätigungscodes wird dieser Code nicht mehr benötigt. Sie sollten es entfernen, um sicherzustellen, dass sich Benutzer normal anmelden können.

Zusammenfassung

Die Bestätigungscode-Funktion in Laravel ist standardmäßig aktiviert, was in den allermeisten Fällen die Sicherheit der Anwendung verbessern kann. In manchen Fällen kann es jedoch erforderlich sein, Bestätigungscodes zu deaktivieren. Das Deaktivieren von Captchas in Laravel ist sehr einfach. Ändern Sie einfach die Konfigurationsdatei für den Bestätigungscode, löschen Sie den Code in der HTML-Vorlage und ändern Sie die login()-Methode im AuthController.

Das obige ist der detaillierte Inhalt vonSo deaktivieren Sie die Bestätigungscode-Funktion in Laravel. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage