Integrare WordPress

Protejează-ți formularele WordPress cu SilentShield. Funcționează cu Contact Form 7, WPForms, Gravity Forms și orice formulare personalizate.

1. Adaugă scriptul

Adaugă acest cod în fișierul functions.php al temei tale sau folosește un plugin precum „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. Verificare pe server

Adaugă verificarea nonce-ului la handler-ul formularului tău. Pentru formulare personalizate, adaugă acest lucru în funcția de procesare:

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

Widgetul detectează automat formularele Contact Form 7. Nu este necesară nicio configurare suplimentară — adaugă doar scriptul și widgetul va proteja toate formularele CF7 de pe pagină.

WPForms / Gravity Forms

SilentShield detectează automat formularele din WPForms, Gravity Forms și alte pluginuri populare de formulare. Widgetul injectează nonce-ul în orice formular pe care îl găsește pe pagină.

Stocarea cheii API

Adaugă cheia ta API în wp-config.php pentru securitate:

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