Ochrona przed spamem w WordPress bez wtyczek
[ SEOWind.io - pisz treści które rankują się w TOPach ]
Spam to pewnie najgorsza rzecz wraz po włamaniach z którą spotykają się użytkownicy WordPress. Na obecną chwilę istnieje wiele różnych sposobów ochronić stronę od spamu. Ale większość z nich wiążę się z instalacją dodatkowych wtyczek. Jeśli nie jesteście Państwo zwolennikami takiego podejścia do rozwiązania problemu (fakt, że każda dodatkowa wtyczką zwiększa czas ładowania strony), proponujemy proste wyjście. Wystarczy wprowadzić kilak zmian do pliku funkcje motywów aby zapomnieć o reklamowych komentarzy dodawanych przez różne skrypty spamerskie.
Podane rozwiązanie polega na tym, że ukrywamy prawdziwe pole wpisywania komentarza ‘comment‘ i zastępujemy go nowym polem ‘real-comment‘. Dla odwiedzających blogu wszystko pozostanie bez zmian i one nie zauważą żadnej różnicy na stronie. Jednak skrypty spamowe spróbują wypełnić standardowe pole komentarza ze standardową nazwą ‘comment‘. Sęk w tym, że skrypt nie będzie w stanie zrozumieć, że proponowane pole jest niewidoczne dla odwiedzających. W rezultacie jego wypełnienie powoduje uznanie wypełniającego za „automat” i przenosi go na stronę z powiadomieniem „Stop spam”.
Dlatego aby wprowadzić odpowiednie zmiany należy zmodyfikować plik functions.php motywu używanego domyślnie. Skorzystamy się dlatego z standardowego edytora WordPress, który znajduje się w sekcji Wygląd. Za pomocą tego edytora otworzymy plik funkcje motywu (rys. 1):
Na końcu tego pliku wstawimy poniższy kod:
//dodajemy pole 'real-comment' start function wph_add_new_comment_field($args) { if (preg_match('/<textarea.*textarea>/', $args['comment_field'], $match)){ $textarea = $match[0]; $real_textarea = str_replace('comment', 'real-comment', $textarea, $count); if ($count) { $hidden_textarea = str_replace( '<textarea', '<textarea style="display:none;"', $textarea ); $args['comment_field'] = str_replace($textarea, "$hidden_textarea$real_textarea", $args['comment_field']); } } return $args; } add_filter('comment_form_defaults', 'wph_add_new_comment_field', 30);
Dzięki temu kodu na stronie dodawania komentarzy będą dostępne 2 identyczne pola do wpisywania komentarzy o różnych nazwach. Przy tym standardowe pole ‘comment‘ jest ukryte przed oczami odwiedzających i one nie mogą go w żaden sposób wypełnić.
Teraz dodamy kod, który będzie sprawdzać czy jest wypełnione pole ‘comment‘. Gdy tak, wiadomość będzie uznana za spam i otworzy się nowa strona z komunikatem „Stop spam”:
//sprawdzenie na spam function wph_verify_spam() { if(false === strpos($_SERVER['REQUEST_URI'], 'wp-comments-post.php')) return; if(!empty($_POST['comment'])) wp_die('Stop spam'); $_POST['comment'] = $_POST['real-comment']; } add_filter('init', 'wph_verify_spam');
Po zapisywaniu wszystkich zmian przechodzimy na stronę z wpisem (rys. 2).
Jak widać z rysunku 2 dla użytkownika nic się nie zmieniło. Formularz komentarzy ma takie same pola jak i dopiero. Po ich wypełnieniu komentarz będzie oczekiwał na moderację (rys. 3). Jeśli macie Państwo inne ustawienia w sekcji Dyskusja, on może być już dodany.
Dlatego aby sprawdzić, że wprowadzone zmiany działają poprawnie należy w pole ‘<textarea style=”display:none;”‘, $textarea ); usunąć znaczenie display:none;. Po zapisywaniu zmian otrzymamy następny rezultat (rys. 4):
Jak widać z rysunku 4 na stronie pojawiły się 2 jednakowe pola do wpisywania komentarza. Pierwsze ma nazwę ‘comment‘ i będzie używane przez skrypty. Po automatycznym wypełnieniu pół pojawi się komunikat (rys. 5):
Powyższy rezultat sprawia, że wprowadzony kod działa poprawie.
Podsumowanie
Podane rozwiązanie pozwala Państwu zapomnieć o spamie rozsyłanym za pomocą skryptów. Nie musicie sprawdzać sekcję Komentarzy i wyszukiwać wśród nich spam. Nie będziecie nawet dostawać powiadomień o komentarzach spamowych. To jest wielką zaletą, zwłaszcza, gdy wcześniej mieliście setki takich wiadomości dziennie. Do innych zalet warto odnieść stabilność działania kodu po odnowieniach systemu oraz templatek. Dlatego jeśli jeszcze zastanawiacie nad wyborem efektywnego rozwiązania, na pewno muście zwrócić uwagę na powyższy kod.
P.S. Korzystam się z tego rozwiązania w ciągu kilku miesięcy. Używam go razem z Akismet. Przez ten czas nie dostałem żadnego komentarza o viagrze, kredytach itd.
- 10 trendów w projektowaniu stron internetowych www 2020 - 4 stycznia 2020
- Jak sprawdzić czy wtyczka jest bezpieczna? - 4 stycznia 2020
- Ochrona przed spamem w WordPress bez wtyczek - 4 stycznia 2020
- Nowa paczka darmowych motywów od TemplateMonster - 4 stycznia 2020
- Jak korzystać z fontów Google na stronie www? - 4 stycznia 2020
- Jak wyświetlać losowe wpisy w WordPress? - 4 stycznia 2020
- Trendy w projektowaniu stron 2018 - 4 stycznia 2020
- Darmowe motywy 2017 od Templatemonster - 4 stycznia 2020
- Jak dodać wybrane fonty Google do edytora TinyMCE Advanced? - 4 stycznia 2020
- Jak dodać przyciski justowania i podkreślania w edytorze WordPressa? - 4 stycznia 2020
-
Linki Wewnętrzene i Sematyka
-
-
Budowanie linków
-
Sematyka
-
Budowanie linków nigdy nie było prostrze. Setki możliwości linków za jednym kliknięciem.
-
SEMRush
-
-
Profesjonalna platforma SEO
-
Online
-
SEMrush oferuje rozwiązania dla SEO, PPC, treści, mediów społecznościowych i badań konkurencyjnych.