Nguyên Nghĩa

Hãy biết đam mê và mãi mãi khát khao học hỏi.

MENU
Tìm kiếm thông tin
Nguyên Nghĩa
Mr.N2

Hạn chế spam, auto post, auto đăng ký nick dành cho diễn đàn Vbb

Chào mọi người.

Mình viết bài này với mong muốn chia sẻ với các bạn kinh nghiệm quản trị diễn đàn Vbb của mình, với nội dung xoay quanh vấn đề spam bài, auto post bài, auto đăng ký nick trên diễn đàn Vbb.

Trong forum của chúng ta, chắc hẳn không thiểu các spammer hạng nặng, công việc của các bạn là đi spam bài ở các forum bằng phần mềm post bài (hay nói hoa mỹ là phần mềm SEO đó :choang:). Với vai trò quản trị diễn đàn, mình sẽ giải quyết vấn đề trên bằng cách nào.

Mình đưa ra ý tưởng là ngăn chặn việc đăng ký tài khoản, điều đó có nghĩa là ngoài các bước nhập câu hỏi bảo mật, nhập captcha,… (những phương pháp này đã vượt qua được) khách phải vượt qua lớp đăng ký bằng cách nhập bằng tay vào để trả lời câu hỏi bảo mật trước khi đăng ký.

Cách 1:

Chèn mã xác nhận trực tiếp vào tập tin register.php (register.php dành cho Vbb, các mã nguồn khác có thể tên khác) đoạn code sau:

Đoạn code này là sẽ bật ra 1 cửa sổ xác nhận đăng ký, nếu là người bình thường sẽ đọc câu hỏi và làm theo hướng dẫn. Nhưng nếu là bots thì nó không thể tự điền vào 2 ô Username và Passwords được, nếu làm theo cách này vẫn bị spam thì 2 tuần đổi câu hỏi 1 lần nhé các bạn. Có thể con bots đã được lập trình từ điển sẵn để điền vào bước xác nhận này (nhưng trường hợp này là rất ít).

Bên trên là đoạn code với 2 thiết lập chứa giá trị Username và Password, bạn có thể tùy biến câu hỏi để bắt khách trả lời cho đúng quy định.

Chú ý: tập tin register.php phải convert sang UTF-8 nếu không sẽ bị lỗi font chữ.

Demo:

Khi click vào đăng ký sẽ hiện ra thông báo:

authorize_require_1

Khi nhập sai sẽ có thông báo lỗi:

authorize_require_2

Bạn có thể xem demo trực tiếp đăng ký thành viên tại: Hội Quán Tin Học

Cách 2:

Đầu tiên bạn tạo 1 tập tin mang tên password_protect.php với nội dung:

Sau đó bạn sẽ include vào tập tin register.php trên forum của bạn bằng code ngắn gọn sau:

user_name bên trên là tên tài khoản để bạn đăng nhập nhé. Nếu forum bạn chạy được đặt trong 1 folder thì viết lại như sau:

Để tạo mật khẩu theo ý muốn của mình bạn vào Sha1 Hash – Sha1 Encryption – Sha1 Encoder, nhập nội dung xong rồi nhấn Encrypt sau đó thay cho chuỗi ký tự bên trên biến $password nhé.

Demo: Đăng ký thành viên – Hội Quán Tin Học

P/S: Đoạn code bên trên chỉ chạy với chế độ ANSI, các bạn đừng convert qua UTF-8 nhé. Ngoài chống đăng ký nick tự động ra, nó còn có thể chống ddos nữa nhé các bạn, vì yêu cầu phải nhập mã vào mới cho qua (nhưng ai pro có thể bypass được :gianxao:)

Tác giả: Nguyên Nghĩa
Nguồn: forum.idichvuseo.com

Tags:
Có thể bạn quan tâm
  • Code tăng tốc độ load website
  • Bảo vệ khu vực quản trị Admin của các loại mã nguồn PHP
  • Bình luận

    Leave a Reply