De indata ce instalezi WordPress si site-ul apare in indexul Google, vor incepe sa curga comentariile spam. Pot fi chiar si cateva mii pe zi.
Comentariile sunt salvate in baza de date de un fisier wp-comments-post.php. Majoritatea programelor care scriu comentarii automat pe site nu viziteaza site-ul propriu-zis pentru a afla numele acestui fisier. Ele trimit comentariile spam direct la wp-comments-post.php, fara sa incarce nici o pagina din site.
Mai jos, form action este wp-comments-post.php, implicit.
Cum scapam de spam?
Schimband numele fisierului wp-comments-post.php in orice altceva vom scapa de mesajele spam pentru ca programele respective nu vor mai gasi script-ul. Ca site-ul sa functioneze in continuare trebuie sa schimbam si 3 fisiere in care este apelat script-ul wp-comments-post.php.
Pasi de urmat, metoda 1:
- schimba numele fisierului wp-comments-post.php in orice altceva, de exemplu wp-comments-post-alrjce12.php
- modifica wp-includes/comment-template.php: cauta in fisier si inloc de wp-comments-post.php scrie wp-comments-post-alrjce12.php. Fa o copie de siguranta la fisier mai intai.
- modifica wp-includes/theme-compat/comments.php: cauta in fisier si inloc de wp-comments-post.php scrie wp-comments-post-alrjce12.php. Fa o copie de siguranta la fisier mai intai.
- modifica wp-includes/theme-compat/comments-popup.php: cauta in fisier si inloc de wp-comments-post.php scrie wp-comments-post-alrjce12.php. Fa o copie de siguranta la fisier mai intai.
Din experienta mea asta este de ajuns. Programele automate nu se complica sa afle noul nume al fisierului si in felul acesta nu mai pot scrie comentarii. De la schimbare, inloc de cateva mii de mesaje am primit doar 2-3. Acestea au fost scrise de programe de spam mai inteligente care au incarcat mai intai o pagina din site ca sa afle noul nume al fisierului pentru comentarii (wp-comments-post-alrjce12.php) dupa care au trimis mesajul spam la el. Dupa cele 2-3 comentarii spam initiale ele au incetat de tot. Cred ca programele respective sunt suficient de inteligente sa vada ca mesajele nu au aparut pe site si au scos site-ul de pe lista lor de site-uri de spamat.
Daca primiti mesaje spam multe si dupa schimbare, implementati solutia urmatoare: numele fisierului wp-comments-post-alrjce12.php este salvat intr-o variabila in php. In fisierele comment-template.php, comments.php, comments-popup.php afisam numele fisierului cu echo variabila respectiva.
In felul acesta putem schimba usor si des numele fisierului pentru comentarii astfel tinand programele spam la distanta (o vreme).
Pasi de urmat, metoda 2:
1. schimba numele fisierului wp-comments-post.php in orice altceva, de exemplu wp-comments-post-alrjce12.php
2. creeaza un fisier nume_script_comentarii.php in radacina WordPress
<?php $nume_script_comentarii = 'wp-comments-post-alrjce12.php'; ?>
3. modifica in wp-includes/comment-template.php (faceti o copie de siguranta)
<form action="<?php echo site_url( '/wp-comments-post.php' ); ?>" method="post" id="<?php echo esc_attr( $args['id_form'] ); ?>">
in:
<?php include('nume_script_comentarii.php'); ?> <form action="<?php echo site_url( '/' . $nume_script_comentarii ); ?>" method="post" id="<?php echo esc_attr( $args['id_form'] ); ?>">
4. modifica in wp-includes/theme-compat/comments.php (faceti o copie de siguranta)
<form action="<?php echo get_option('siteurl'); ?>/wp-comments-post.php" method="post" id="commentform">
in:
<?php include('nume_script_comentarii.php'); ?> <form action="<?php echo get_option('siteurl'), '/', $nume_script_comentarii;?>" method="post" id="commentform">
5. modifica in wp-includes/theme-compat/comments-popup.php (faceti o copie de siguranta)
<form action="<?php echo get_option('siteurl'); ?>/wp-comments-post.php" method="post" id="commentform">
in:
<?php include('nume_script_comentarii.php'); ?> <form action="<?php echo get_option('siteurl'), '/', $nume_script_comentarii;?>" method="post" id="commentform">
Puteti descarca de mai jos fisierele modificare. Nu uitati sa le copiati unde trebuie si sa faceti copii de siguranta la fisierele originale.
Cand modificati nume fisierului wp-comments-post.php tot ce trebuie sa faceti este sa modificati si variabila din nume_script_comentarii.php.
La final, pe site nu trebuie sa existe nici un fisier care sa se numeasca wp-comments-post.php (in caz ca l-ati copiat si nu redenumit). Daca el inca exista cu numele original, spamerii vor folosi acel script iar site-ul dvs. cel modificat.
Salut. De cateva zile sunt atacat si eu de spameri. am capcha dar degeaba.. am si un plugin de blocare, Hikari se numeste. Comentariile nu sunt afisate pe site el fiind trimise direct in gunoi insa primesc comentariile pe mail si ma enerveaza foarte tare! AM facut cum ai zis tu la prima metoda insa tot primesc. Intrebarea este urmatoarea..eu am modificat fisierele din folderul www, trebuia cumva cele din public_html pentru a avea efect? iti multumesc anticipat
Salut. La mine directorul radacina pentru apache se numeste public_html. www de obicei este un link tot la public_html adica defapt este acelasi director: schimbi in unul si modificarile se vad si in celalalt. Trebuie sa schimbi in directorul unde ai instalat blogul; se poate numi oricum directorul in functie de ce configurari ai. public_html e cel mai popular nume.
Ai grija sa fi sters fisierul wp-comments-post.php de pe server. Pentru ca daca acel fisier inca mai exista el va fi gasit de programele pentru spam.