Ενσωμάτωση WordPress
Προστατέψτε τις φόρμες WordPress σας με το SilentShield. Λειτουργεί με Contact Form 7, WPForms, Gravity Forms και οποιεσδήποτε προσαρμοσμένες φόρμες.
1. Προσθέστε το script
Προσθέστε αυτόν τον κώδικα στο functions.php του θέματος σας ή χρησιμοποιήστε ένα πρόσθετο όπως '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. Επαλήθευση στον διακομιστή
Προσθέστε επαλήθευση nonce στον χειριστή φόρμας. Για προσαρμοσμένες φόρμες, προσθέστε αυτό στη συνάρτηση επεξεργασίας:
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
Το Widget ανιχνεύει αυτόματα τις φόρμες Contact Form 7. Δεν απαιτείται πρόσθετη ρύθμιση — απλώς προσθέστε το script και το Widget θα προστατεύσει όλες τις φόρμες CF7 στη σελίδα.
WPForms / Gravity Forms
Το SilentShield ανιχνεύει αυτόματα φόρμες από WPForms, Gravity Forms και άλλα δημοφιλή πρόσθετα φορμών. Το Widget εισάγει nonce σε κάθε φόρμα που βρίσκει στη σελίδα.
Αποθήκευση του API κλειδιού
Προσθέστε το API κλειδί σας στο wp-config.php για ασφάλεια:
// wp-config.php
define('SILENTSHIELD_API_KEY', 'your-api-key-here');