亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

Maison Tutoriel CMS WordPresse Intégration d'un captcha avec le formulaire de connexion WordPress

Intégration d'un captcha avec le formulaire de connexion WordPress

Feb 19, 2025 am 09:52 AM

Ce tutoriel montre la construction d'un plugin WordPress qui intègre Google Recaptcha dans le système de connexion WordPress. Le plugin utilise l'API HTTP pour envoyer une demande de poste à RecaptCha, validant les réponses CAPTCHA utilisateur.

Le développement du plugin implique la création d'une classe PHP avec des propriétés pour les clés RecaptCha, l'ajout du captcha au formulaire de connexion et la validation des réponses. Le code montre comment envoyer une demande de poste à https://www.google.com/recaptcha/api/verify avec les paramètres nécessaires. Cela améliore la sécurité du site Web en différenciant les humains des robots, empêchant les tentatives d'accès non autorisées.

Un tutoriel précédent a exploré l'API WordPress HTTP. Ce tutoriel s'appuie sur cela, présentant la consommation d'API dans un plugin WordPress. Nous avons précédemment construit un widget WordPress de données et de données sociales à l'aide de l'API HTTP.

Vous trouverez ci-dessous une capture d'écran du formulaire de connexion WordPress avec le captcha intégré:

Integrating a CAPTCHA with the WordPress Login Form

Développement du plugin

Avant de coder, enregistrez votre domaine sur recaptcha et obtenez vos clés API publiques et privées.

1. En-tête du plugin:

<?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. Classe PHP:

Créez une classe PHP pour stocker les touches RecaptCha:

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. Instanciation du plugin:

Enfin, instanciez la classe:

new reCAPTCHA_Login_Form();

Cela complète le code du plugin. Téléchargez le plugin complet pour une utilisation ou une étude plus approfondie. Cela fait partie d'une série présentant l'utilisation de l'API WordPress HTTP dans les plugins.

(Section FAQs supprimée pour la concision, car elle ne nécessite pas de réécriture pour la pseudo-originalité. Le contenu est factuel et n'a pas besoin d'altération.)

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!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefa?on, veuillez contacter admin@php.cn

Outils d'IA chauds

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

Video Face Swap

échangez les visages dans n'importe quelle vidéo sans effort grace à notre outil d'échange de visage AI entièrement gratuit?!

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

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

Sujets chauds

Tutoriel PHP
1488
72
Comment diagnostiquer une utilisation élevée du processeur causée par WordPress Comment diagnostiquer une utilisation élevée du processeur causée par WordPress Jul 06, 2025 am 12:08 AM

Les principales raisons pour lesquelles WordPress provoque une augmentation de l'utilisation du processeur du serveur comprennent des problèmes de plug-in, une requête de base de données inefficace, une mauvaise qualité du code du thème ou une augmentation du trafic. 1. Premièrement, confirmez s'il s'agit d'une charge élevée causée par WordPress via des outils supérieurs, HTOP ou Panel de configuration; 2. Entrez le mode de dépannage pour activer progressivement les plug-ins pour dépanner les goulots d'étranglement des performances, utilisez QueryMonitor pour analyser l'exécution du plug-in et supprimer ou remplacer les plug-ins inefficaces; 3. Installez les plug-ins de cache, nettoyez les données redondantes, analysez les journaux de requête lents pour optimiser la base de données; 4. Vérifiez si le sujet a des problèmes tels que la surcharge de contenu, les requêtes complexes ou le manque de mécanismes de mise en cache. Il est recommandé d'utiliser des tests de sujet standard pour comparer et optimiser la logique de code. Suivez les étapes ci-dessus pour vérifier et résoudre l'emplacement et résoudre le problème un par un.

Comment minifiliser les fichiers JavaScript dans WordPress Comment minifiliser les fichiers JavaScript dans WordPress Jul 07, 2025 am 01:11 AM

Les fichiers JavaScript de mini-divateur peuvent améliorer la vitesse de chargement du site Web WordPress en supprimant les blancs, les commentaires et le code inutile. 1. Utilisez des plug-ins de cache qui prennent en charge la compression de fusion, tels que W3TotalCache, Activer et sélectionner le mode de compression dans l'option "Minify"; 2. Utilisez un plug-in de compression dédié tel que FastvelocityMinify pour fournir un contr?le plus granulaire; 3. Compressez manuellement les fichiers JS et téléchargez-les via FTP, adapté aux utilisateurs familiers avec les outils de développement. Notez que certains thèmes ou scripts plug-in peuvent entrer en conflit avec la fonction de compression, et vous devez tester soigneusement les fonctions du site Web après l'activation.

Comment prévenir les commentaires Spam programmatiquement Comment prévenir les commentaires Spam programmatiquement Jul 08, 2025 am 12:04 AM

Le moyen le plus efficace de prévenir le spam de commentaires est de l'identifier et de l'intercepter automatiquement par des moyens programmatiques. 1. Utilisez des mécanismes de code de vérification (tels que Googler captcha ou hcaptcha) pour distinguer efficacement les humains et les robots, en particulier adaptés aux sites Web publics; 2. Définissez des champs cachés (technologie de miel) et utilisez des robots pour remplir automatiquement les fonctionnalités pour identifier les commentaires du spam sans affecter l'expérience utilisateur; 3. Vérifiez la liste noire des mots clés du contenu des commentaires, filtrez les informations sur les spams par la correspondance des mots sensibles et faites attention à éviter les erreurs de jugement; 4. Jugez la fréquence et la source IP des commentaires, limitez le nombre de soumissions par unité de temps et établissez une liste noire; 5. Utilisez des services anti-spam tiers (comme Akismet, CloudFlare) pour améliorer la précision d'identification. Peut être basé sur le site Web

Comment mettre en place des actifs pour un bloc Gutenberg Comment mettre en place des actifs pour un bloc Gutenberg Jul 09, 2025 am 12:14 AM

Lorsque vous développez des blocs Gutenberg, la méthode correcte des actifs d'Enqueue comprend: 1. Utilisez Register_Block_Type pour spécifier les chemins de chemin de l'éditor_script, editor_style et style; 2. Enregistrez les ressources via WP_register_Script et WP_register_style dans Functions.php ou plug-in, et définissez les dépendances et versions correctes; 3. Configurez l'outil de construction pour sortir le format du module approprié et assurez-vous que le chemin est cohérent; 4. Contr?lez la logique de chargement du style frontal via ADD_THEME_SUPPORT ou ENQUEUE_BLOCK_Assets pour s'assurer que la logique de chargement du style frontal est assurée.

Comment ajouter des champs personnalisés aux utilisateurs Comment ajouter des champs personnalisés aux utilisateurs Jul 06, 2025 am 12:18 AM

Pour ajouter des champs utilisateur personnalisés, vous devez sélectionner la méthode d'extension en fonction de la plate-forme et faire attention à la vérification des données et au contr?le d'autorisation. Les pratiques courantes incluent: 1. Utilisez des tables supplémentaires ou des paires de valeurs clés de la base de données pour stocker des informations; 2. Ajoutez des bo?tes d'entrée à l'extrémité avant et intégrer à l'extrémité arrière; 3. Conserver les vérifications du format et les autorisations d'accès aux données sensibles; 4. Mettez à jour les interfaces et les modèles pour prendre en charge un nouvel affichage et édition de champ, tout en prenant en compte l'adaptation mobile et l'expérience utilisateur.

Comment ajouter des règles de réécriture personnalisées Comment ajouter des règles de réécriture personnalisées Jul 08, 2025 am 12:11 AM

La clé pour ajouter des règles de réécriture personnalisées dans WordPress est d'utiliser la fonction add_rewrite_rule et de vous assurer que les règles prennent effet correctement. 1. Utilisez add_rewrite_rule pour enregistrer la règle, le format est add_rewrite_rule ($ regex, $ redirect, $ after), où $ regex est une URL de correspondance d'expression régulière, $ redirect spécifie la requête réelle et $ après contr?le l'emplacement de la règle; 2. Les variables de requête personnalisées doivent être ajoutées via add_filter; 3. Après modification, les paramètres de liaison fixe doivent être rafra?chis; 4. Il est recommandé de placer la règle en ?haut? pour éviter les conflits; 5. Vous pouvez utiliser le plug-in pour afficher la règle actuelle pour plus de commodité

Comment optimiser les robots wordpress txt Comment optimiser les robots wordpress txt Jul 13, 2025 am 12:37 AM

Robots.txt est crucial pour le référencement des sites Web WordPress et peut guider les moteurs de recherche pour craquer un comportement, éviter le contenu en double et améliorer l'efficacité. 1. Les chemins du système de bloc tels que / wp-admin / et / wp-incluses /, mais évitez de bloquer accidentellement le / les téléchargements / répertoire; 2. Ajouter des chemins de sitemap tels que le plan du site: https://yourdomain.com/sitemap.xml pour aider les moteurs de recherche à découvrir rapidement des cartes de site; 3. Limite / Page / et URL avec des paramètres pour réduire les déchets du robot, mais veillez à ne pas bloquer les pages d'archives importantes; 4. évitez les erreurs courantes telles que le blocage accidentellement de l'ensemble du site, le plug-in de cache affectant les mises à jour et l'ignorer la correspondance des terminaux et des sous-domaines mobiles.

Comment profiter des performances WordPress Comment profiter des performances WordPress Jul 07, 2025 am 12:43 AM

1. Utilisez le plug-in Performance Analysis pour localiser rapidement les problèmes. Par exemple, QueryMonitor peut afficher le nombre de requêtes de base de données et d'erreurs PHP, BlackBoxProfiler génère des rapports d'exécution de fonction et NewRelic fournit une analyse au niveau du serveur; 2. L'analyse des performances d'exécution de PHP nécessite la vérification des fonctions longues, l'utilisation des outils de débogage et l'allocation de mémoire, tels que XDebug génère des graphiques de flamme pour aider à l'optimisation; 3. 4. Combiner des outils externes tels que GooglePageSpeedInsights, Gtmetrix et WebPageTest pour évaluer le front-end Plus

See all articles