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.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 :
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.php
define('SILENTSHIELD_API_KEY', 'your-api-key-here');