Sau đây mình tổng hợp tất các phương pháp để chặn Spam cho diễn đàn Xenforo hiệu quả bao gồm dùng Addon và chỉnh sửa code. Nếu forum của bạn content chất lượng thấp và bị spam thì sẽ không bao giờ lên top. Nên các bạn hãy làm trên tinh thần thà ít chứ phải chất, và không cho spam nào hoạt động cả.
Những phương pháp khi mình vận hành congdongdigital (thuộc IMTA) mình đã bị spam gần 500 bài nên mình làm topic này để hỗ trợ anh em chống spam. Những Addon mình sẽ cập nhật dần cho các bạn nhé.
Thà làm ít, làm chất lượng còn hơn để cho spam nội dung kém chất lượng
Phương pháp 1: Chuyển sang ReCapcha
Đây là cách tuy đơn giản nhưng hiệu quả, bởi vì Google có hệ thống Recapcha chặn bot khá tốt, bạn nên dùng cái này để chặn ngay từ khi Spam đăng ký vào forum của bạn.
Nếu forum của bạn bị spam do dùng hCapcha thì mình khuyến nghị bạn thay đổi sang reCapcha của Google, vì mình thấy hCapcha và những hệ thống Cpacha khác đã bị hệ thống giải.
Mình đã dùng reCpacha để chống spam thì khá ổn. Sau đây là hướng dẫn bạn sử dụng reCapcha để chặn spam cho diễn đàn Xenforo
Sau đây là bạn sẽ vào Admin => Options => Basic Options => use RECAPCHA
Bạn click vào link mà Xenforo để sẵn cho bạn đăng ký. Điền thông tin như sau để có Site Key và Secret Key
Như vậy là có mã thì bạn sẽ không còn lo lắng forum bị spam nữa.
Phương pháp 02: Không cho chèn link vào bài viết
Bước tiếp theo giả sử người đó vượt được reCapcha của Google thì khi đăng bài bạn chặn tính năng chèn link. Thường các spamer họ muốn đặt link vào bài viết để tăng điểm SEO
Addon chặn chèn link trong bài viết mình đã làm cho congdongdigital, mình sẽ public cho cộng đồng dùng nhé. Đây là 1 phương thức mình tin rằng hiệu quả 99% khi giới hạn số lượng link được đăng trong bài viết cùng với điều kiện chỉ khi nào đạt 100 triệu bài viết thì mới được post link.
Khả năng là Spamer vẫn để tool chạy 100 triệu bài viết vẫn có khả ăng xảy ra, nên mình chỉ nói là chống được 99%
Phương pháp 03: Không cho chèn link trong chữ ký
Bạn vô Group & permissions => User Group => Registered => Tìm mục llink, KHông cho phép đăng link
Như vậy chúng ta sẽ chặn được Spam khá nhiều,
Các bạn nhớ KHÔNG cho phép 2 mục này nhé: Allow embedded media và Allow Links
Kết quả là chữ ký sẽ không thể chèn link
Phương pháp 04: Ẩn link trong about của User
Phương pháp này vẫn cho user nhập link tuy nhiên sẽ không hiển thị trong mục about của Forum
Bình thường bạn sẽ thấy thế này.
Bạn truy cập vô mục Template sau đó vào mục member_about. Tìm đến điều kiện if và phần code về website của user bạn xóa bỏ
Xóa bỏ đoạn code này:
<xf:if is="$user.Profile.website">
<dl class="pairs pairs--columns pairs--fixedSmall">
<dt>{{ phrase('website') }}</dt>
<dd>
<a href="{$user.Profile.website}" rel="nofollow" target="_blank">{$user.Profile.website|url_display}</a>
</dd>
</dl>
</xf:if>
Nếu bạn muốn xóa luôn trường account_detail không cho user nhập đường link website luôn thì có thể vô account_detail và xóa dòng code bên dưới
<xf:textboxrow name="profile[website]" value="{$xf.visitor.Profile}" column="website_"
maxlength="{{ max_length($xf.visitor.Profile, 'website') }}"
label="{{ phrase('website') }}" />
Như của mình, là mình xóa luôn, để spamer dùng phần mềm thì nó sẽ báo lỗi bên phần mềm của họ và Forum của mình cũng không bị nặng database
Phương pháp 05: Không cho chèn link vào Profile
Bạn vào Template sau đó vào mục member_about. Nhớ là bạn nhìn kỹ chữ Edit Template để chắc chắn rằng mình đang chỉnh sửa trên Child Theme, không sửa trên Default Theme nhé
Tìm dòng code: {{ bb_code($user.Profile.about, ‘user:about’, $user) }}
Đổi thành code: {{ snippet($user.Profile.about, 0, {‘stripBbCode’: true}) }}
Cảm ơn bạn!