Dieses Tutorial zeigt, ein WordPress -Plugin zu erstellen, das Google Recaptcha in das WordPress -Anmeldesystem integriert. Das Plugin verwendet die HTTP -API, um eine Postanforderung an Recaptcha zu senden, wobei Benutzer captcha -Antworten validiert.
Die Plugin -Entwicklung beinhaltet das Erstellen einer PHP -Klasse mit Eigenschaften für Recaptcha -Schlüssel, das Hinzufügen der Captcha zum Anmeldeformular und die Validierung der Antworten. Der Code zeigt, wie eine Postanforderung mit den erforderlichen Parametern an https://www.google.com/recaptcha/api/verify
sendet. Dies verbessert die Sicherheit der Website, indem Menschen von Bots unterschieden werden, wodurch nicht autorisierte Zugriffsversuche verhindern.
In einem früheren Tutorial wurde die WordPress HTTP -API untersucht. Dieses Tutorial baut darauf auf und zeigt den API -Konsum innerhalb eines WordPress -Plugins. Wir haben zuvor ein Domain Whois und Social Data WordPress -Widget mit der HTTP -API erstellt.
unten finden Sie einen Screenshot des WordPress -Anmeldeformulars mit dem integrierten Captcha:
Plugin -Entwicklung
Vor dem Codieren registrieren Sie Ihre Domain auf Recaptcha und erhalten Sie Ihre ?ffentlichen und privaten API -Schlüssel.
1. Plugin -Header:
<?php /* Plugin Name: WP Login Form with reCAPTCHA Plugin URI: https://www.sitepoint.com Description: Adds Google's reCAPTCHA to WordPress Login Version: 1.0 Author: Agbonghama Collins Author URI: http://w3guy.com License: GPL2 */
2. PHP -Klasse:
Erstellen Sie eine PHP -Klasse zum Speichern von Recaptcha -Tasten:
class reCAPTCHA_Login_Form { private $public_key, $private_key; public function __construct() { $this->public_key = '6Le6d-USAAAAAFuYXiezgJh6rDaQFPKFEi84yfMc'; $this->private_key = '6Le6d-USAAAAAKvV-30YdZbdl4DVmg_geKyUxF6b'; add_action( 'login_form', array( $this, 'captcha_display' ) ); add_action( 'wp_authenticate_user', array( $this, 'validate_captcha_field' ), 10, 2 ); } public function captcha_display() { ?> <??> <noscript> <iframe src="https://www.google.com/recaptcha/api/noscript?k=<?=$this->public_key?>" height="300" width="300" frameborder="0"></iframe><br><br> <textarea name="recaptcha_challenge_field" rows="3" cols="40"></textarea> <input type="hidden" name="recaptcha_response_field" value="manual_challenge"> </noscript> <?php } public function validate_captcha_field($user, $password) { if ( ! isset( $_POST['recaptcha_response_field'] ) || empty( $_POST['recaptcha_response_field'] ) ) { return new WP_Error( 'empty_captcha', 'CAPTCHA cannot be empty' ); } if( isset( $_POST['recaptcha_response_field'] ) && $this->recaptcha_response() === 'false' ) { return new WP_Error( 'invalid_captcha', 'Incorrect CAPTCHA response' ); } return $user; } public function recaptcha_response() { $challenge = isset($_POST['recaptcha_challenge_field']) ? esc_attr($_POST['recaptcha_challenge_field']) : ''; $response = isset($_POST['recaptcha_response_field']) ? esc_attr($_POST['recaptcha_response_field']) : ''; $remote_ip = $_SERVER["REMOTE_ADDR"]; $post_body = array( 'privatekey' => $this->private_key, 'remoteip' => $remote_ip, 'challenge' => $challenge, 'response' => $response ); return $this->recaptcha_post_request( $post_body ); } public function recaptcha_post_request( $post_body ) { $args = array( 'body' => $post_body ); $request = wp_remote_post( 'https://www.google.com/recaptcha/api/verify', $args ); $response_body = wp_remote_retrieve_body( $request ); $answers = explode( "\n", $response_body ); $request_status = trim( $answers[0] ); return $request_status; } } new reCAPTCHA_Login_Form();
3. Plugin -Instanziierung:
endlich die Klasse instanziieren:
new reCAPTCHA_Login_Form();
Dies vervollst?ndigt den Plugin -Code. Laden Sie das komplette Plugin zum Gebrauch oder weitere Untersuchung herunter. Dies ist Teil einer Serie, die WordPress HTTP -API -Verwendung in Plugins zeigt.
(FAQS-Abschnitt für die Kürze entfernt, da es für Pseudooriginalit?t nicht neu geschrieben werden muss. Der Inhalt ist sachlich und erfordert keine ?nderung.)
Das obige ist der detaillierte Inhalt vonIntegration eines Captcha in das WordPress -Anmeldeformular. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Hei?e KI -Werkzeuge

Undress AI Tool
Ausziehbilder kostenlos

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

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

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)

Die Hauptgründe, warum WordPress den Anstieg der Server-CPU-Nutzung hervorruft, umfassen Plug-in-Probleme, Ineffiziente Datenbankabfrage, schlechte Qualit?t des Themencodes oder Anstieg des Datenverkehrs. 1. Best?tigen Sie zun?chst, ob es sich um eine hohe Belastung handelt, die durch WordPress über Oben-, HTOP- oder Bedienfeld -Tools verursacht wird. 2. Geben Sie den Fehlerbehebungsmodus ein, um die Plug-Ins nach und nach zu erm?glichen, Leistungs Engp?sse zu beheben, mit QueryMonitor die Plug-in-Ausführung zu analysieren und ineffiziente Plug-Ins zu l?schen oder zu ersetzen. 3. Installieren Sie Cache-Plug-Ins, r?umen Sie redundante Daten auf, analysieren Sie langsame Abfrageprotokolle, um die Datenbank zu optimieren. 4. überprüfen Sie, ob das Thema Probleme wie überladungsinhalte, komplexe Abfragen oder mangelnde Caching -Mechanismen aufweist. Es wird empfohlen, Standard -Thementests zu verwenden, um die Codelogik zu vergleichen und zu optimieren. Befolgen Sie die obigen Schritte, um den Ort zu überprüfen und zu l?sen und das Problem nacheinander zu l?sen.

Miniving JavaScript -Dateien k?nnen die Ladegeschwindigkeit der WordPress -Website verbessern, indem sie Rohlinge, Kommentare und nutzlose Code entfernen. 1. Verwenden Sie Cache-Plug-Ins, die die Zusammenführungskomprimierung wie W3totalcache unterstützen, den Komprimierungsmodus in der Option "Minify" aktivieren und ausw?hlen. 2. Verwenden Sie ein dediziertes Komprimierungs-Plug-In wie FastVerocityMinify, um eine st?rkere Kontrolle zu erhalten. 3. Die JS -Dateien manuell komprimieren und über FTP hochladen, geeignet für Benutzer, die mit Entwicklungstools vertraut sind. Beachten Sie, dass einige Themen oder Plug-in-Skripte mit der Komprimierungsfunktion in Konflikt stehen und die Website-Funktionen nach der Aktivierung gründlich testen müssen.

Methoden zur Optimierung von WordPress-Sites, die nicht auf Plug-Ins angewiesen sind, umfassen: 1. Leichte Themen wie Astra oder Generatedress verwenden, um Stapelthemen zu vermeiden; 2.. 3. Optimieren Sie die Bilder vor dem Hochladen, verwenden Sie das WebP -Format und die Steuerung der Datei. 4. Konfigurieren.htaccess, um den Browser -Cache zu aktivieren, und eine Verbindung zu CDN herstellen, um die statische Ladegeschwindigkeit zu verbessern. 5. Artikelüberarbeitung einschr?nken und redundante Datenbankdaten regelm??ig reinigen.

Transientsapi ist ein integriertes Tool in WordPress, um automatische Ablaufdaten vorübergehend zu speichern. Die Kernfunktionen sind set_transient, get_transient und delete_transient. Im Vergleich zu OptionsAPI unterstützt Transienten die Festlegung der überlebenszeit (TTL), die für Szenarien wie Cache -API -Anforderungsergebnisse und komplexe Computerdaten geeignet ist. Wenn Sie es verwenden, müssen Sie auf die Einzigartigkeit des wichtigsten Namens und des Namespace, des Mechanismus "Lazy Deletion" und des Problems, das m?glicherweise nicht in der Umgebung von Objekt -Cache dauert, auf die Einzigartigkeit achten. Typische Anwendungsszenarien umfassen die Reduzierung der externen Anforderungsfrequenz, die Steuerung des Codeausführungsrhythmus und die Verbesserung der Ladenleistung der Seite.

Der effektivste Weg, um Kommentare zu verhindern, besteht darin, ihn automatisch mit programmatischen Mitteln zu identifizieren und abzufangen. 1. Verwenden Sie Verifizierungscode -Mechanismen (wie Googler captcha oder hcaptcha), um effektiv zwischen Menschen und Robotern zu unterscheiden, insbesondere für ?ffentliche Websites. 2. Setzen Sie versteckte Felder (Honeypot -Technologie) und verwenden Sie Roboter, um Funktionen automatisch auszufüllen, um Spam -Kommentare zu identifizieren, ohne die Benutzererfahrung zu beeintr?chtigen. 3.. überprüfen Sie die schwarze Liste der Keywords in den Kommentaren inhaltlich, filtern Sie Spam -Informationen durch sensible Word -übereinstimmung und achten Sie darauf, dass Fehleinsch?tzungen vermieden werden. V. 5. Verwenden Sie Anti-Spam-Dienste von Drittanbietern (wie Akismet, Cloudflare), um die Identifizierungsgenauigkeit zu verbessern. Kann auf der Website basieren

Bei der Entwicklung von Gutenberg -Bl?cken umfasst die richtige Methode der Enqueue -Verm?genswerte: 1. Verwenden Sie Register_Block_Type, um die Pfade von editor_script, editor_style und style anzugeben; 2. Registrieren Sie die Ressourcen über wp_register_script und wp_register_style in functions.php oder plug-In und setzen Sie die richtigen Abh?ngigkeiten und Versionen. 3. Konfigurieren Sie das Build -Tool, um das entsprechende Modulformat auszugeben, und stellen Sie sicher, dass der Pfad konsistent ist. 4. Steuern Sie die Ladelogik des Front-End-Stils über add_theme_support oder enqueue_block_assets, um sicherzustellen, dass die Ladelogik des Front-End-Stils sichergestellt wird.

Um benutzerdefinierte Benutzerfelder hinzuzufügen, müssen Sie die Erweiterungsmethode entsprechend der Plattform ausw?hlen und auf die Datenüberprüfung und die Berechtigungssteuerung achten. Zu den allgemeinen Praktiken geh?ren: 1. verwenden zus?tzliche Tabellen oder Schlüsselwertpaare der Datenbank, um Informationen zu speichern; 2. Fügen Sie Eingangsk?sten am vorderen Ende hinzu und integrieren Sie sie in das hintere Ende. 3.. Formatprüfungen und Zugriffsberechtigungen für sensible Daten einschr?nken; 4. Aktualisieren Sie Schnittstellen und Vorlagen, um die Anzeige und Bearbeitung des neuen Feldes zu unterstützen, w?hrend die mobile Anpassung und die Benutzererfahrung berücksichtigt werden.

Robots.txt ist für die SEO von WordPress -Websites von entscheidender Bedeutung und kann Suchmaschinen zum Kriechenverhalten leiten, doppelte Inhalte vermeiden und die Effizienz verbessern. 1. Blocksystempfade wie /wp-admin /und /wp-includes /, aber vermeiden Sie versehentlich das Blockieren des /Uploads /das Verzeichnis; 2. Fügen Sie Sitemap -Pfade wie Sitemap hinzu: https://yourdomain.com/sitemap.xml, um Suchmaschinen schnell zu entdecken. 3. Limit / Page / und URLs mit Parametern zur Reduzierung von Crawler -Abf?llen, aber achten Sie darauf, wichtige Archivseiten nicht zu blockieren. 4. Vermeiden Sie h?ufige Fehler, wie z. B. die versehentlicher Blockierung der gesamten Site, das Cache-Plug-In, das die Aktualisierungen beeinflusst, und das Ignorieren der Anpassung mobiler Terminals und Subdom?nen.
