Ngày chúng tôi khắc phục xong quy trình đăng ký (Signup Pipeline)

Số lượng đăng ký của chúng tôi tăng lên mỗi tuần. Cả đội cảm thấy rất hào hứng. Nhưng dữ liệu có vẻ không đúng. Người dùng không bao giờ quay lại. Các địa chỉ email trông rất lạ. Tỷ lệ kích hoạt (activation rate) của chúng tôi giảm xuống.

Tôi đã xem xét dữ liệu. Tôi không tìm thấy sự tăng trưởng. Tôi chỉ thấy những nhiễu loạn (noise).

Vấn đề

Tôi đã chạy một truy vấn để nhóm các lượt đăng ký theo địa chỉ IP. Một địa chỉ IP đã đăng ký hàng trăm tài khoản chỉ trong 24 giờ. Nó sử dụng cùng một dấu vân tay trình duyệt (browser fingerprint). Một đoạn script đang liên tục gửi yêu cầu đến endpoint đăng ký của chúng tôi. Nó sử dụng các tên miền email dùng một lần. Đó là một bot, không phải con người.

Quy trình đăng ký của chúng tôi đang bị bỏ ngỏ hoàn toàn.

Giải pháp

Chúng tôi đã xây dựng ba lớp bảo vệ chỉ trong một sprint.

Lớp 1: Throttling

Chúng tôi sử dụng hai loại rate limiting:

Lớp 2: Blocklists

Lớp 3: IP Blocklist

Một số IP rất dai dẳng. Chúng lạm dụng nhiều phần khác nhau trong hệ thống của chúng tôi. Chúng tôi sử dụng một danh sách chặn cứng (hard blocklist). Các IP này sẽ bị từ chối trong mọi yêu cầu. Middleware sẽ chặn chúng ngay lập tức.

Kết quả

Trước khi khắc phục:

Sau khi khắc phục:

Bài học rút ra

Tăng trưởng không chỉ là việc có thêm người dùng. Đó là việc có được những người dùng thực sự. Các quyết định về sản phẩm của bạn phụ thuộc vào dữ liệu tốt. Và dữ liệu đó bắt đầu từ chính endpoint đăng ký của bạn.

Nguồn: https://dev.to/ogeobubu/the-day-we-fixed-our-signup-pipeline-3664