Snippet

Dodaj Honeypot do formularza WordPress w celu skutecznej ochrony przed spamem

Jak dodać honeypot do formularza WordPressOchrona formularzy WordPress przed spamem za pomocą honeypotWdrożenie honeypot w formularzach WordPressWtyczka honeypot antyspamowa do WordPressDodaj pole honeypot do formularza kontaktowego 7Najlepsza wtyczka honeypot dla WordPressKonfiguracja honeypot dla formularzy WordPressHoneypot w WordPress vs reCAPTCHAProsty honeypot dla formularzy WordPressMetoda honeypot do zapobiegania spamowi w WordPress

Objaśnienie

Dodanie pułapki na spam do formularzy WordPressa to sprytny sposób na wychwycenie spamu bez przeszkadzania użytkownikom. Oto jak to działa:

  • Pole pułapki: Do formularza dodawane jest ukryte pole. Prawdziwi użytkownicy go nie zobaczą, ale boty spamowe je wypełnią.
  • Walidacja: Jeśli ukryte pole jest wypełnione, prawdopodobnie to bot, a przesłanie formularza zostaje odrzucone.

Dla Contact Form 7 kod dodaje ukryte pole o nazwie wp_dudecom_honeypot. Jeśli to pole jest wypełnione, formularz jest oznaczany jako spam.

Dla dowolnego niestandardowego formularza WordPressa możesz użyć tej samej strategii z ukrytym polem. Wystarczy dodać ukryty input do formularza i sprawdzić jego wartość po przesłaniu formularza.

Ta metoda jest prosta i nie wymaga od użytkowników rozwiązywania zagadek, takich jak CAPTCHA, co czyni ją przyjazną dla użytkownika, a jednocześnie skuteczną w walce z botami spamowymi.

Kod

1<?php 2// Add a honeypot field to Contact Form 7 3function wp_dudecom_add_honeypot_to_cf7( $tag ) { 4 if ( $tag['name'] == 'wp_dudecom_honeypot' ) { 5 $tag['type'] = 'hidden'; 6 $tag['name'] = 'wp_dudecom_honeypot'; 7 $tag['values'] = array( '' ); 8 } 9 return $tag; 10} 11add_filter( 'wpcf7_form_tag', 'wp_dudecom_add_honeypot_to_cf7' ); 12 13// Validate the honeypot field in Contact Form 7 14function wp_dudecom_validate_honeypot_cf7( $result, $tag ) { 15 if ( $tag->name == 'wp_dudecom_honeypot' && ! empty( $_POST['wp_dudecom_honeypot'] ) ) { 16 $result->invalidate( $tag, 'Spam detected.' ); 17 } 18 return $result; 19} 20add_filter( 'wpcf7_validate_hidden', 'wp_dudecom_validate_honeypot_cf7', 10, 2 ); 21 22// Add honeypot field to any WordPress form 23function wp_dudecom_add_honeypot_field() { 24 echo '<input type="hidden" name="wp_dudecom_honeypot" value="" />'; 25} 26 27// Validate honeypot field in any WordPress form 28function wp_dudecom_check_honeypot_field() { 29 if ( ! empty( $_POST['wp_dudecom_honeypot'] ) ) { 30 wp_die( 'Spam detected.' ); 31 } 32} 33add_action( 'init', 'wp_dudecom_check_honeypot_field' ); 34 35// Example usage: Add honeypot field to a custom form 36function wp_dudecom_custom_form() { 37 ?> 38 <form method="post" action=""> 39 <?php wp_dudecom_add_honeypot_field(); ?> 40 <input type="text" name="your_name" placeholder="Your Name" required /> 41 <input type="email" name="your_email" placeholder="Your Email" required /> 42 <textarea name="your_message" placeholder="Your Message" required></textarea> 43 <input type="submit" value="Send" /> 44 </form> 45 <?php 46} 47?>

Instrukcja

Lokalizacja pliku: Dodaj poniższy kod do pliku functions.php swojego motywu lub do pliku własnej wtyczki.

Wymagania wstępne: Upewnij się, że masz zainstalowaną i aktywowaną wtyczkę Contact Form 7, jeśli chcesz używać tego z Contact Form 7.

Kroki wdrożenia:

  1. Dostęp do plików WordPress: Użyj klienta FTP lub menedżera plików swojego dostawcy hostingu, aby uzyskać dostęp do plików WordPress.
  2. Otwórz plik functions.php: Przejdź do wp-content/themes/twoj-motyw/functions.php i otwórz go do edycji. Alternatywnie, stwórz lub otwórz plik własnej wtyczki.
  3. Dodaj kod honeypot: Skopiuj podany fragment kodu i wklej go na końcu pliku functions.php lub pliku własnej wtyczki.
  4. Zapisz zmiany: Zapisz plik po dodaniu kodu.
  5. Wdrożenie w Contact Form 7:
    • Edytuj swój formularz Contact Form 7.
    • Dodaj nowe ukryte pole o nazwie wp_dudecom_honeypot za pomocą edytora formularzy.
  6. Wdrożenie w formularzach własnych:
    • Dołącz funkcję wp_dudecom_add_honeypot_field() w swoim HTML formularza, w miejscu, gdzie chcesz, aby pole honeypot się pojawiło.
    • Upewnij się, że obsługa przesyłania formularza sprawdza pole honeypot za pomocą wp_dudecom_check_honeypot_field().
  7. Testuj swoje formularze: Prześlij swoje formularze, aby upewnić się, że działają poprawnie i że przesyłki spamowe są blokowane.

Potrzebujesz pomocy w wdrożeniu lub bardziej zaawansowanej funkcjonalności? Odwiedź wp-dude.com po fachową pomoc w WordPressie.