Intégration WordPress

Protégez vos formulaires WordPress avec SilentShield. Compatible avec Contact Form 7, WPForms, Gravity Forms et tout formulaire personnalisé.

1. Ajouter le script

Ajoutez ce code au fichier functions.php de votre thème ou utilisez une extension comme « Insert Headers and Footers » :

functions.phpphp
// functions.php
function silentshield_enqueue() {
    wp_enqueue_script(
        'silentshield',
        'https://api.silentshield.io/client.js?key=YOUR_API_KEY',
        array(),
        null,
        true
    );
    wp_add_inline_script('silentshield', "
        document.addEventListener('DOMContentLoaded', function() {
            SilentShield.init({ apiKey: 'YOUR_API_KEY' });
        });
    ");
}
add_action('wp_enqueue_scripts', 'silentshield_enqueue');

2. Vérification côté serveur

Ajoutez la vérification du nonce à votre gestionnaire de formulaire. Pour les formulaires personnalisés, ajoutez ceci à votre fonction de traitement :

PHPphp
function verify_silentshield_nonce() {
    $nonce = sanitize_text_field($_POST['ss_nonce'] ?? '');
    if (empty($nonce)) {
        wp_die('Missing verification', 'Error', array('response' => 422));
    }

    $response = wp_remote_post('https://api.silentshield.io/api/v1/captcha/verify-nonce', array(
        'headers' => array(
            'Content-Type' => 'application/json',
            'X-Api-Key' => SILENTSHIELD_API_KEY,
        ),
        'body' => wp_json_encode(array('nonce' => $nonce)),
        'timeout' => 5,
    ));

    if (is_wp_error($response)) {
        return; // fail open
    }

    $body = json_decode(wp_remote_retrieve_body($response), true);
    if (($body['verdict'] ?? '') === 'bot') {
        wp_die('Bot detected', 'Forbidden', array('response' => 403));
    }
}

Contact Form 7

Le Widget détecte automatiquement les formulaires Contact Form 7. Aucune configuration supplémentaire n'est nécessaire — il suffit d'ajouter le script et le Widget protégera tous les formulaires CF7 de la page.

WPForms / Gravity Forms

SilentShield détecte automatiquement les formulaires de WPForms, Gravity Forms et d'autres extensions de formulaires populaires. Le Widget injecte le nonce dans tout formulaire trouvé sur la page.

Stockage de l'API Key

Ajoutez votre API Key dans wp-config.php pour plus de sécurité :

wp-config.phpphp
// wp-config.php
define('SILENTSHIELD_API_KEY', 'your-api-key-here');