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