1.8.x Tính Năng: DF Memberlist Lock 1.0

Preview

Tác giả: viguss

Phiên bản: v1.0

Gửi lúc: 14/09/2026

Cập nhật lúc: 14/09/2026

Security User Profiles
Mô tả
Memberlist Lock 1.0

Your full member directory is public by default — scrapers, spam-harvesters and competitor boards can page through every single member. Memberlist Lock puts the complete directory behind a configurable allow-list, while everyone else sees a friendly, capped first page.

What restricted visitors (guests + members) see

First page only — direct ?page=N URLs silently fall back to page 1
A configurable row cap (default 50)
Pagination hidden
An optional, translatable notice bar (template-driven)
What allowed uids see

The complete, unmodified memberlist with normal pagination
ACP settings (Configuration → Memberlist Lock)

Full-access uids — CSV of user ids (default 1)
Restricted page size — row cap for restricted visitors (default 50)
Show lock notice — yes/no
Architecture (built against the official Advanced Plugin Development guide)

inc/plugins/dfmlock.php — lifecycle only (info / install / activate / deactivate / uninstall / is_installed)
inc/plugins/dfmlock/hooks.php — minimal hook handlers (memberlist_start, pre_output_page)
inc/plugins/dfmlock/permissions.php — uid allow-list helper
inc/plugins/dfmlock/settings.json + settings.php — settings via insert_query_multiple
inc/plugins/dfmlock/templates.json + templates.php — notice template installed to master
inc/languages/english/… + …/admin/… — every user-facing string in language files
Security notes

No SQL built from user input; the only input touched is forced server-side
All uids cast to int; allow-list parsed with intval + strict in_array
Output is language-driven and escaped; notice markup lives in a template
No eval(), no remote calls, no file writes, no secrets
Clean uninstall: settings, setting group and templates removed, caches rebuilt
Tested on MyBB 1.8.40 / PHP 8.3 (compatible PHP 7.4+)
Live demo: https://data-forums.com/memberlist.php (restricted view) — full view for the allowed uids only.

Install: upload the tree → ACP → Plugins → Install & Activate → tune settings.

Support Forum/Thread : https://data-forums.com/Thread-FREE-PLUG...0#pid25180

Khóa danh sách thành viên 1.0

Danh mục thành viên đầy đủ của bạn mặc định là công khai — các trình thu thập rác, thu thập thư rác và bảng đối thủ có thể lướt qua từng thành viên. Memberlist Lock đặt toàn bộ thư mục phía sau một danh sách cho phép có thể cấu hình, trong khi mọi người khác chỉ thấy trang đầu tiên thân thiện, có giới hạn.

Những gì khách truy cập bị hạn chế (khách + thành viên) nhìn thấy

Chỉ trang đầu — URL trực tiếp ?page=N sẽ lặng lẽ quay lại trang 1
Giới hạn hàng có thể cấu hình (mặc định 50)
Ẩn phân trang
Thanh thông báo tùy chọn, có thể dịch (điều khiển bằng mẫu)
Những gì cho phép uid xem

Danh sách thành viên hoàn chỉnh, không chỉnh sửa với phân trang bình thường
Cài đặt ACP (Cấu hình → Khóa danh sách thành viên)

UID truy cập đầy đủ — CSV của id người dùng (mặc định 1)
Kích thước trang bị giới hạn — giới hạn số hàng cho khách truy cập bị hạn chế (mặc định 50)
Hiển thị thông báo khóa — có/không
Kiến trúc (được xây dựng dựa trên hướng dẫn phát triển plugin nâng cao chính thức)

inc/plugins/dfmlock.php — chỉ vòng đời (thông tin / cài đặt / kích hoạt / hủy kích hoạt / gỡ cài đặt / is_installed)
inc/plugins/dfmlock/hooks.php — Bộ xử lý móc tối thiểu (memberlist_start, pre_output_page)
inc/plugins/dfmlock/permissions.php — Trợ giúp danh sách cho phép UID
inc/plugins/dfmlock/settings.json + settings.php — cài đặt qua insert_query_multiple
inc/plugins/dfmlock/templates.json + templates.php — mẫu thông báo đã cài đặt cho master
inc/languages/english/... + .../admin/... — mọi chuỗi hướng tới người dùng trong các tệp ngôn ngữ
Ghi chú bảo mật

Không có SQL nào được xây dựng từ đầu vào của người dùng; đầu vào duy nhất được chạm vào là bắt buộc phía máy chủ
Tất cả các uid được chuyển sang int; danh sách cho phép được phân tích với intval + strict in_array
Đầu ra được điều khiển bởi ngôn ngữ và thoát ra; lưu ý đánh dấu nằm trong một mẫu
Không có eval(), không gọi từ xa, không ghi file, không có bí mật
Gỡ cài đặt sạch sẽ: cài đặt, nhóm cài đặt và mẫu đã bị loại bỏ, bộ nhớ đệm được xây dựng lại
Đã thử nghiệm trên MyBB 1.8.40 / PHP 8.3 (tương thích PHP 7.4+)
Trình diễn trực tiếp:https://data-forums.com/memberlist.php(chế độ xem giới hạn) — chế độ xem đầy đủ chỉ cho các UID được phép.

Cài đặt: tải lên cây → ACP → Plugins → Cài đặt & Kích hoạt cài đặt → điều chỉnh.

Diễn đàn/Chủ đề Hỗ trợ:https://data-forums.com/Thread-FREE-PLUG...0#pid25180