Protegendo o nome de usuários registrados em seu WordPress
Instruções
1) Abra o arquivo /wp-comments-post.php para edição (um backup antes disso é sempre bem-vindo.. vai que algo dá errado) 2) Ache o seguinte trecho de código:
$comment_author = trim(strip_tags($_POST['author'])); $comment_author_email = trim($_POST['email']); $comment_author_url = trim($_POST['url']); $comment_content = trim($_POST['comment']);
3) Depois do trecho acima, adicionem o trecho de código que temos logo abaixo:
// get list of user (display) names for blog global $wpdb; $valid_users = (array)$wpdb->get_results(" SELECT display_name, user_email FROM " . $wpdb->prefix . "users"); // get ID of logged in user (if there is one) global $userdata; get_currentuserinfo(); $logged_in_name = $userdata->ID; $logged_in_email = $userdata->user_email; // see if the comment author matches an existing author $found_match = FALSE; foreach ($valid_users as $va) { if (trim($va->display_name) != '') { if (strtolower($va->display_name) == strtolower($comment_author)) { $found_match = TRUE; break; } } if (trim($va->user_email) != '') { if (strtolower($va->user_email) == strtolower($comment_author_email)) { $found_match = TRUE; break; } } } // if commenter is not logged in, but match was found, block the comment if (trim($logged_in_name) == '') { if ($found_match == TRUE) { wp_die( __('Voce nao pode deixar comentários com o nome ou email de um usuário registrado no site. Caso seja você mesmo, efetue seu login.') ); } }
4) Salve o arquivo e o feche
Notas
Para testar esta modificação, simplesmente se desconecte e tente postar um comentário usando o nome de usuário ou e-mail que você mesmo tem registrado. Se quiser alterar a mensagem exibida, altere o texto entre aspas na seguinte linha:
wp_die( __('Voce nao pode deixar comentários com o nome ou email de um usuário registrado no site. Caso seja você mesmo, efetue seu login.') );
Isso já devia fazer parte da instalação básica do WordPress, né?
Concordo Thiago,
Ainda bem que, pra nossa sorte, o WordPress é opensource, assim todos podem detectar suas falhas e as corrigir e aprimorar o sistema 🙂
Abraços !
Boa orientação, valeu abraço.