Thứ Tư, 23 tháng 11, 2016

Chống bình luận rác trên website viết bằng mã nguồn wordpress

Then use the post body as the schema.org description, for good G+/FB snippeting. -->
Làm thế nào để chống lại các bình luận rác có chứa textlink, backlink, textdomain bình luận rác trên website được viết bằng mã nguồn wordpress.
Hiện nay chống spam là tương đối và chưa triệt để được hết.
Vì khi cài plugin hay gắn một đoạn code mã ngăn chặn spam là hiệu qua, nhưng đôi khi spam vẫn xuất hiện trong quản lý bình luận để bạn xem sét.
Dưới đây là 1 trong những cách chặn spam tương đối nhất hiện nay.
1. Dùng plugin chống spam miễn phí tốt nhất hiện nay akismet
Dashboard -> Plugins -> Installed Plugins.

Sau khi kích hoạt xong, nó sẽ kêu bạn kích hoạt, hãy click vào nút Activate Your Akismet Account.
Sau đó bạn hãy ấn vào nút Get you API key để lấy khóa API riêng dành cho bạn.
Nó sẽ chuyển bạn tới trang chủ của Akismet, ấn vào nút Get an Akismet API key.
Sau đó đăng nhập vào bằng tài khoản wordpress.com của bạn rồi cấp quyền nó truy cập dịch vụ Akismet. Bắt đầu họ sẽ hỏi bạn muốn sử dụng Akismet gói nào, hãy chọn Personal để dùng miễn phí.
Lại một lần nữa họ sẽ mời bạn ủng hộ kinh phí. Nếu không muốn ủng hộ thì hãy kéo cái nút xuống hết cỡ để dùng miễn phí.
Cuối cùng là bạn đã có được cái API Key.
Copy nó và vào Settings -> Akismet rồi điền vào và kích hoạt.
Hoàn tất, hãy nói lời vĩnh biệt spammer đi nào
Nguồn: thachpham.com
2. Dùng đoạn code sau:

Cách thức thực hiện: Mở tập tin wp-comments-post.php trong thư mục gốc bạn cài WordPress.
Tìm đến đoạn sau:
[php]
$comment_author = ( isset($_POST[‘author’]) ) ? trim(strip_tags($_POST[‘author’])) : null;
$comment_author_email = ( isset($_POST[’email’]) ) ? trim($_POST[’email’]) : null;
$comment_author_url = ( isset($_POST[‘url’]) ) ? trim($_POST[‘url’]) : null;
$comment_content = ( isset($_POST[‘comment’]) ) ? trim($_POST[‘comment’]) : null;
[/php]

Chèn vào ngay bên dưới đoạn mã sau:

[php]
/* BEGIN This teak help us check if a commentor is spammer */
$bl = get_option(‘blacklist_keys’);
$arr_bl = explode("\\r\\n", $bl);

for ( $i=0; $i < count($arr_bl) ; $i++)
{
if(strstr($comment_author_url, $arr_bl[$i]) != false)
die(‘Sorry ! You can not comment here !’);

if(strstr($comment_author_email, $arr_bl[$i]) != false)
die(‘Sorry ! You can not comment here !’);

if(strstr($comment_content, $arr_bl[$i]) != false)
die(‘Sorry ! You can not comment here !’);
}

/* END This teak help us check if a commentor is spammer */
[/php]

Lưu lại và upload lên hosting. (Đừng quên sau mỗi lần nâng cấp WordPress phiên bản mới bạn phải thực hiện lại sự thay đổi này nhé !)
Truy cập vào Admin Dashboard \ Settings \ Discussion -> Comment Blacklist, để thêm vào một từ khoá thử nghiệm hoặc nếu đã có thì bạn ghi nhớ nó. Ví dụ tôi sẽ thử nghiệm với từ khoá test.com. Truy cập vào một bài viết và tiến hành gửi thử một comment có chứa từ khoá test.com. Khi nhấn gửi comment nếu bạn nhận được thông báo “Sorry ! You can not comment here !” nghĩa là bạn đã thành công rồi đó.
Công việc của bạn từ nay sẽ khoẻ hơn, chỉ cần chăm chỉ cập nhật thêm dữ liệu cho phần Comment Blacklist nữa thôi. Bạn có thể làm giàu thêm “bộ sưu tập spammers” bằng cách tra cứu trên Google tìm các dữ liệu về spammers đã được các blogger ghi nhận lại. Và chúng ta sẽ nói gì ? “Goodbye Spammers !”
Nguồn: vietcoding.com

Không có nhận xét nào:

Đăng nhận xét