Addon 2x Known Bots - Thêm Known Bots vào XenForo 2 6.0.2

PVS

Super Moderator
Thành viên BQT
Tham gia
28/02/2015
Bài viết
16,829
Được Like
12,687
Known Bots - Thêm Known Bots vào XenForo 2 6.0.2
Addon XenForo 2.x này bổ sung thêm các định nghĩa để phát hiện bot trong các session.

Điều này cho phép chỉ báo chính xác hơn về số lượng người dùng so với robot trực tuyến tại bất kỳ thời điểm nào.

Tính đến tháng 9 năm 2023, tệp định nghĩa bot có thể phát hiện hơn 1.300 bot khác nhau và có cơ sở dữ liệu gồm hơn 2.300 chuỗi tác nhân người dùng đã được xác định là bot.

Số liệu thống kê từ ứng dụng quản lý bot, được xây dựng tùy chỉnh để theo dõi và xác định bot cũng như cung cấp API cập nhật:

1697747343953.png

Yêu cầu

Addon này yêu cầu PHP 7.0.0 trở lên và hoạt động trên XenForo 2.x

Sử dụng

Khi bạn nhìn vào Khách truy cập hiện tại, bạn sẽ thấy các robot bổ sung được xác định - cũng xem danh sách "Robots" trên trang đó http://www.example.com/community/online/?type=robot

1569992317809.png

Add-on cũng thêm số lượng robot hiện tại vào widget thành viên trực tuyến và thống kê trực tuyến (từ trang khách truy cập hiện tại). Điều này có thể được tắt thông qua các tùy chọn.

1574032520691.png


1574032528995.png

Có một công cụ trong khu vực quản trị để hiển thị danh sách đầy đủ các bot hiện đã biết:

1695069691124.png

... và một công cụ khác cho phép bạn kiểm tra chuỗi tác nhân người dùng để xem liệu nó có bị phát hiện là bot hay không:

1589696060644.png

... và công cụ thứ ba hiển thị danh sách 100 bot cuối cùng được phát hiện, cùng với mọi tác nhân người dùng không xác định đang chờ gửi lại để phân tích.

1697747428661.png

Định nghĩa bot mới thông qua API

Add-on này sẽ truy vấn API KnownBots để tìm các bản cập nhật và tự động áp dụng chúng - không còn phải cài đặt các bản cập nhật theo cách thủ công để nhận danh sách bot mới. Bạn có thể truy vấn API trực tiếp bất kỳ lúc nào và bạn cũng có thể tắt quy trình cập nhật tự động để tải xuống tệp json theo cách thủ công và tải dữ liệu bằng cách sử dụng tập lệnh CLI. Hướng dẫn để làm điều này có thể được tìm thấy dưới đây.

Tính năng mới trong Verion 5

Verion 5 được viết lại hoàn chỉnh từ các phiên bản trước - với khả năng phát hiện bot hiện nhanh hơn tới 15 lần so với phương pháp trước đó. Việc phát hiện bot cũng phức tạp hơn - với hệ thống phát hiện dựa trên biểu thức chính quy thứ cấp để giúp xác định các chuỗi bot phức tạp không thể so khớp bằng cách so khớp chuỗi văn bản đơn giản được sử dụng theo mặc định.

Nếu không phát hiện thấy bot nào, add-on sẽ kiểm tra tác nhân người dùng dựa trên danh sách các chuỗi biểu thức chính quy của trình duyệt hợp lệ - và nếu không được coi là trình duyệt hợp lệ do người dùng điều khiển, add-on sẽ tạm thời lưu trữ thông tin trong cơ sở dữ liệu trước khi gửi thông tin trở lại tác giả addon qua email để phân tích thêm.

Trước đây, hệ thống chỉ gửi lại tác nhân người dùng khớp với các từ khóa: bot|crawl|spider - phương pháp phát hiện mới này toàn diện hơn đáng kể và cho phép phát hiện các bot mới có thể không tự nhận dạng bằng cách sử dụng từ khóa truyền thống với độ chính xác cao hơn nhiều.

Tùy chọn

Hiển thị số liệu thống kê​


1695070173593.png

Cho phép hiển thị số liệu thống kê về robot trong các widget sidebar

Tìm nạp các bot mới

1695070187734.png

Cho phép tự động tìm nạp số nhận dạng bot mới từ API KnownBots do tác giả add-on duy trì. Nếu bạn tắt tùy chọn này, bạn phải thiết lập hệ thống của riêng mình để cập nhật các định nghĩa bot đã biết - xem phần giao diện dòng lệnh để biết các tùy chọn hỗ trợ tại đây

Lưu trữ tác nhân người dùng trong cơ sở dữ liệu và lọc sau

1695070239128.png


Cho phép lưu trữ các tác nhân người dùng bot và không xác định trong cơ sở dữ liệu để phân tích thêm. Điều này nên được sử dụng cùng với tùy chọn "Tác nhân người dùng email" để gửi tác nhân người dùng không xác định trở lại tác giả add-on để phân tích thêm và xác định các bot mới. Bạn cũng có thể gửi thông tin tác nhân người dùng theo cách thủ công cho tác giả add-on thông qua chuỗi thảo luận về add-on - sử dụng công cụ "Danh sách các bot được phát hiện" để hiển thị các tác nhân người dùng không xác định.

Khi bật tùy chọn này, bạn cũng có thể chọn khoảng thời gian lưu giữ các bản ghi tác nhân người dùng trước khi chúng tự động bị xóa khỏi cơ sở dữ liệu. Điều này sử dụng cơ chế "nhìn thấy lần cuối" để duy trì danh sách các bot được nhìn thấy gần đây - chỉ những bot không được nhìn thấy gần đây mới bị xóa. Đối với các trang web bận rộn, hãy cân nhắc việc giảm giá trị này từ 90 ngày mặc định để giảm kích thước dữ liệu được lưu trữ. Đặt ngày thành 0 để không bao giờ xóa dữ liệu tác nhân người dùng (không được khuyến nghị).

Gửi tác nhân người dùng qua API

1697747610246.png

Tính năng mới trong phiên bản 6, việc bật tùy chọn này sẽ gửi tác nhân người dùng không xác định trở lại tác giả addon để phân tích thêm và xác định các bot mới.

Để định cấu hình API, hãy nhập mã thông báo xác thực Giấy phép cho trang web của bạn, được tìm thấy trong giao diện khách hàng XenForo . Mã thông báo xác thực sẽ được gửi đến API xác thực khách hàng XenForo và nếu hợp lệ, mã thông báo API KnownBots sẽ được tạo và trả lại cho các mục đích xác thực tiếp theo.

Với giấy phép được xác thực, quá trình xác thực sẽ diễn ra tự động. Mã thông báo API được tạo lại sau mỗi 28 ngày và được xác thực lại tự động. Thông tin chi tiết về khách hàng sẽ tự động bị xóa khỏi cơ sở dữ liệu KnownBots sau 30 ngày không hoạt động (xem chi tiết về quyền riêng tư bên dưới). Việc tạo lại mã thông báo xác thực giấy phép của bạn sẽ tự động khiến quá trình xác thực API không thành công và thông tin chi tiết về khách hàng bị xóa - trừ khi bạn định cấu hình lại các tùy chọn addon bằng mã thông báo xác thực giấy phép mới.

Tác nhân người dùng email

1697747723873.png


Cho phép gửi email định kỳ các chuỗi tác nhân người dùng tới tác giả add-on để phân tích sâu hơn nhằm phát hiện các bot chưa được xác định trước đó. Tùy chọn này chỉ có hiệu lực nếu tùy chọn "Lưu trữ tác nhân người dùng trong cơ sở dữ liệu" cũng được bật.

Theo mặc định, hệ thống sẽ gửi email trực tiếp đến tác giả add-on tại [email protected] - nhưng bạn có thể yêu cầu hệ thống gửi email đến bất kỳ địa chỉ nào nếu bạn muốn kiểm tra thông tin trong email. Bạn có thể chuyển tiếp email đến địa chỉ trên theo cách thủ công hoặc đăng chuỗi tác nhân người dùng trong chuỗi hỗ trợ để phân tích.

Bạn có thể chỉ định nhiều địa chỉ email được phân tách bằng dấu phẩy - tất cả các địa chỉ sau địa chỉ đầu tiên đều là bản sao của email, vì vậy hãy chỉ định [email protected] đầu tiên và sau đó là bất kỳ địa chỉ email nào khác mà bạn muốn nhận email tại đó, danh sách người nhận sẽ không hiển thị với tác giả add-on.

Ghi

Cài đặt add-on Monolog Logging Service để ghi nhật ký thông tin về các email đã gửi và các truy vấn API đã thực hiện.

Giao diện dòng lệnh

Có các công cụ CLI được cung cấp có thể hữu ích cho một số trường hợp sử dụng nhất định.

Tìm nạp Bot​

Tìm nạp các bot mới thông qua API. Sử dụng công cụ này để chạy cron của riêng bạn - thực hiện nhiệm vụ tương tự như công việc XenForo Cron được cung cấp.
Bash:
$ php cmd.php known-bots:fetch

Sử dụng -f tùy chọn để buộc cập nhật, bỏ qua cờ "cập nhật lần cuối" và tìm nạp lại các định nghĩa bot mới nhất.

Nếu sử dụng lệnh này thông qua cron của riêng bạn - hãy đảm bảo tắt công việc XenForo Cron được cung cấp có tiêu đề "Bot đã biết: Tìm nạp Bot mới từ API".

Tải Bot​

Tải dữ liệu bot từ tệp knownbots.json đã có trên hệ thống tệp.
Bash:
$ php cmd.php known-bots:load

Add-on sẽ tìm tệp internal_data/knownbots.json- nếu bạn tải xuống theo cách thủ công và đặt phiên bản cập nhật vào vị trí này, thì bạn có thể thực thi lệnh trên để tải dữ liệu mà không cần gọi API.

Tái xử lý tác nhân​

Duyệt qua các tác nhân người dùng được lưu trữ trong cơ sở dữ liệu và cập nhật các định nghĩa dựa trên dữ liệu phát hiện bot mới nhất.
Bash:
$ php cmd.php known-bots:reprocess

Theo mặc định, chỉ các tác nhân người dùng "không xác định" mới được xử lý lại. Sử dụng tùy chọn -a để xử lý lại tất cả tác nhân người dùng đã biết và chưa biết - hữu ích nếu bot bị xác định sai nhưng đã được cập nhật trong dữ liệu API mới nhất.

Bot thử nghiệm​

Kiểm tra chuỗi tác nhân người dùng được cung cấp và xác định xem chuỗi đó có được phát hiện là bot hay không.
Bash:
$ php cmd.php known-bots:test {user-agent}

Đừng quên trích dẫn chuỗi tác nhân người dùng có chứa dấu cách. Ví dụ:
Bash:
$ php cmd.php known-bots:test "Mozilla/5.0 (compatible; AhrefsBot/7.0; +http://ahrefs.com/robot/)"
Found robot: [ahrefs]
Title: AhrefsBot

Sử dụng tùy chọn -s để lưu chuỗi tác nhân người dùng của bạn vào cơ sở dữ liệu để xử lý thêm.

Kiểm tra mã thông báo​

(Mới trong v6) Kiểm tra xem Mã thông báo API KnownBots có hợp lệ hay không.
Bash:
$ php cmd.php known-bots:check-token

Sử dụng tùy chọn -r hoặc --revalidate để tự động cố gắng xác thực lại và tạo mã thông báo API mới nếu xác thực không thành công.

Gửi tác nhân

(Mới trong v6) Gửi tác nhân người dùng mới được phát hiện tới API KnownBots. Thực hiện công việc tương tự như cron job - nhưng có thể chạy bên ngoài thông qua cron hệ thống hoặc thủ công cho mục đích thử nghiệm.
Bash:
[/SIZE]$ php cmd.php known-bots:send[SIZE=4]

Tệp nhật ký phân tích

Đọc thông tin tệp nhật ký máy chủ web và liệt kê tất cả các bot được phát hiện.
Bash:
[/SIZE][/SIZE]$ php cmd.php known-bots:parse {file}[SIZE=4][SIZE=4]

Sử dụng tùy chọn -a hoặc --agents để liệt kê tất cả các tác nhân người dùng được tìm thấy trong tệp nhật ký được cung cấp - không phát hiện bot.

Lệnh cũng sẽ chấp nhận dữ liệu từ stdin nếu bạn chỉ định dấu gạch nối làm tên tệp.

Lưu ý rằng công cụ này giả định rằng bạn đang sử dụng định dạng tệp nhật ký "Apache" tiêu chuẩn, được hầu hết các máy chủ web sử dụng.

Ví dụ sử dụng:

Liệt kê tất cả các tác nhân người dùng. Dữ liệu không hợp lệ (hoặc không) sẽ được trả về nếu bạn không sử dụng định dạng tệp nhật ký Apache tiêu chuẩn.
Bash:
[/SIZE][/SIZE]$ php cmd.php known-bots:parse --agents /var/log/nginx/xenforo/xenforo.access.log
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.77 Safari/537.36
Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1
Mozilla/5.0 (Linux; Android 8.0; Pixel 2 Build/OPD3.170816.012) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/93.0.4577.82 Mobile Safari/537.36
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.61 Safari/537.36 Edg/94.0.992.37
...[SIZE=4][SIZE=4]

Danh sách bot:
Bash:
[/SIZE][/SIZE]$ php cmd.php known-bots:parse /var/log/nginx/xenforo/xenforo.access.log
[postman                  ] PostmanRuntime/7.28.4
[guzzlehttp               ] GuzzleHttp/7
[postman                  ] PostmanRuntime/7.29.0
[curl                     ] curl/7.68.0
...[SIZE=4][SIZE=4]

Ví dụ về đọc dữ liệu từ stdin:
Bash:
[/SIZE][/SIZE]$ cat /var/log/nginx/xenforo/xenforo.access.log | php cmd.php known-bots:parse -
...

$ php cmd.php known-bots:parse - < /var/log/nginx/xenforo/xenforo.access.log
...

$ tail -f /var/log/nginx/xenforo/xenforo.access.log | php cmd.php known-bots:parse -[SIZE=4][SIZE=4]

Cam kết bảo mật

Tóm tắt​

Tùy thuộc vào các tùy chọn được bật, có một số thông tin được tác giả add-on thu thập về các trang web sử dụng add-on này - nhưng nó chỉ được sử dụng cho mục đích phân tích ẩn danh và cho mục đích khắc phục sự cố và không bao giờ được tiết lộ cho bên thứ ba cũng như không bao giờ được sử dụng cho mục đích tiếp thị hoặc bất kỳ mục đích nào khác. mục đích khác ngoài hoạt động của add-on này.

Tác giả add-on cam kết trở thành "công dân tốt" về cách sử dụng và thu thập dữ liệu. Họ cũng cung cấp các tùy chọn để vô hiệu hóa hoặc bỏ qua một số chức năng nhất định nếu bạn cảm thấy không thoải mái khi sử dụng hệ thống như được thiết kế.

Chi tiết​

Khi bật tùy chọn "Tìm nạp bot mới" , add-on sẽ tự động gửi yêu cầu tới KnownBots API , tải xuống danh sách cập nhật các định nghĩa bot. Bạn có thể truy vấn trực tiếp API đó bất kỳ lúc nào để xem nội dung nào có trong dữ liệu được trả về.

Lệnh gọi API của add-on được thực hiện bằng ứng dụng khách HTTP "không đáng tin cậy" tiêu chuẩn được tích hợp trong XenForo, có nghĩa là chúng được chuyển tiếp qua máy chủ proxy nếu bạn đã định cấu hình. Các tệp nhật ký máy chủ web tiêu chuẩn trên máy chủ API sẽ chứa thông tin về các yêu cầu được thực hiện, bao gồm địa chỉ IP của máy chủ của bạn (hoặc proxy nếu được sử dụng) và tên diễn đàn của bạn như được cung cấp trong tác nhân người dùng của ứng dụng khách XenForo HTTP. Ví dụ:
Mã:
2400:8907:e001:xx::xxx - - [15/Aug/2023:00:00:07 +0000] "GET /api/bots?since=1691729327 HTTP/1.1" 200 119647 "-" "XenForo/2.x (https://www.example.com)"

Thông tin nhật ký máy chủ HTTP chỉ được sử dụng cho mục đích phân tích và khắc phục sự cố và không bao giờ được cung cấp cho bên thứ ba.

Bằng cách bật tùy chọn "Lưu trữ tác nhân người dùng trong cơ sở dữ liệu""Tác nhân người dùng email" , điều sau đây sẽ xảy ra:
  1. tác nhân người dùng chưa được phát hiện là bot hoặc trình duyệt hợp lệ sẽ được lưu trữ trong cơ sở dữ liệu
  2. một lần mỗi ngày, một email sẽ được gửi đến các địa chỉ email được xác định trong các tùy chọn, chứa danh sách các tác nhân người dùng này
  3. các chuỗi tác nhân người dùng này sẽ được tác giả add-on đối chiếu và sử dụng để xác định các bot mới hoặc để tinh chỉnh hệ thống phát hiện trình duyệt hợp lệ
Các email được gửi chỉ chứa danh sách các chuỗi tác nhân người dùng. Không có thông tin nào có thể cho phép người nhận lấy dấu vân tay của một người dùng cụ thể đã truy cập trang web của bạn - không có địa chỉ IP hoặc thông tin người dùng có trong dữ liệu.

Ngoài danh sách các chuỗi tác nhân người dùng, thông tin duy nhất có trong email sẽ là những thông tin được người gửi thư diễn đàn và máy chủ SMTP tự động thêm vào tiêu đề email.

Email được gửi đến [email protected] theo mặc định và mọi email được gửi đến địa chỉ này sẽ chỉ được sử dụng cho mục đích xác định các bot mới để thêm vào addon này. Địa chỉ email sẽ không bao giờ được bán hoặc thêm vào bất kỳ danh sách tiếp thị nào - thậm chí không phải của chúng tôi.

Nếu có vấn đề được phát hiện từ email bạn gửi cho chúng tôi, chúng tôi có thể gửi email cho bạn để thiết lập liên lạc - nhưng điều đó sẽ tùy theo từng trường hợp cụ thể và chỉ nhằm mục đích khắc phục sự cố hoạt động của tiện ích bổ sung này.

Bạn có thể kiểm tra thông tin có trong email bằng cách thêm địa chỉ email của riêng bạn vào các tùy chọn bổ sung - trường văn bản chấp nhận danh sách địa chỉ được phân tách bằng dấu phẩy. Ví dụ: đặt địa chỉ email thành: [email protected], [email protected]

Đảm bảo địa chỉ email đầu tiên là tác giả add-on (nếu được chỉ định) - tất cả các địa chỉ email sau mục nhập đầu tiên sẽ là bcc'd - và do đó, tác giả add-on sẽ không có bất kỳ khả năng hiển thị nào về ai người khác đã nhận được email.

Lưu ý rằng các email mà tác giả addon nhận được tại [email protected] địa chỉ đó sẽ được xử lý tự động bằng cách API injection từ nhà cung cấp dịch vụ email của chúng tôi (SparkPost) và không bao giờ được lưu trữ trong hộp thư đến hoặc được con người đọc.

Địa chỉ người gửi email được ghi lại nhằm mục đích khắc phục sự cố - nhưng không bao giờ được sử dụng cho bất kỳ mục đích nào khác.

Không gửi email đến địa chỉ này với các câu hỏi về add-on hoặc để liên lạc với tác giả add-on - mọi email không chứa thông tin tác nhân người dùng hợp lệ sẽ bị trình xử lý tự động âm thầm loại bỏ. Vui lòng liên hệ với tác giả add-on thông qua chủ đề thảo luận về add-on hoặc tin nhắn riêng tư.

Chúc các bạn thành công.


Nguồn: xenforo.com​
 

Đính kèm

  • Hampel-KnownBots-6.0.2.zip
    130.8 KB · Lượt xem: 13

Hướng dẫn sử dụng

XenForo 1 XenForo 2
Translate by PVS

Dịch vụ XenForo của VNXF

Mobile/Zalo: 0906081284

Telegram: anhanhxf

Chỉ nhận web nội dung lành mạnh

Nhà Tài Trợ

Mút Xốp Không Gian
Mút Sofa Không Gian
Top Bottom