Google Workspace chặn các tên miền hợp lệ bằng danh sách chặn regex hỏng
Một nhà phát triển phát hiện trang đăng ký của Google Workspace từ chối các tên miền hợp lệ như web.example.com vì danh sách regex 'nhà cung cấp email' được mã hóa cứng — và cách khắc phục chỉ là vượt qua kiểm tra ở phía frontend.
Đăng ký Google Workspace lẽ ra phải nhàm chán. Với một nhà phát triển, việc này biến thành một tuần hỗ trợ khổ sở sau khi biểu mẫu đăng ký của Google từ chối tên miền công ty của họ với lỗi khó hiểu: “Nhập tên miền hợp lệ thay vì nhà cung cấp email.”
Tên miền được đề cập là một tên miền .one cao cấp không có lịch sử lạm dụng. Nhà phát triển đã kiểm tra lịch sử tên miền, tìm kiếm tài liệu của Google (không có gì), và tìm thấy các chủ đề cộng đồng — bao gồm một chủ đề từ Bộ Kinh tế Ukraine, với tên miền me.gov.ua gặp phải rào cản tương tự. Vòng lặp hỗ trợ của Google là điều thường thấy: “thử trình duyệt khác,” “thử thiết bị khác,” quay video. Sau khi leo thang, một kỹ sư sản phẩm đã đề xuất — nghiêm túc — sử dụng một tên miền khác.
Vì vậy, nhà phát triển đã làm điều mà bất kỳ kỹ sư tự trọng nào cũng làm: họ mở DevTools và đọc mã nguồn của trang đăng ký. Lỗi đến từ một hàm xác thực phía máy khách kiểm tra tên miền nhập vào với danh sách regex được mã hóa cứng của các nhà cung cấp email. Danh sách bao gồm các mục rõ ràng như gmail\..* và hotmail\..*, nhưng cũng có một số mục thực sự khó hiểu:
web\..*— chặn bất kỳ tên miền nào bắt đầu bằngweb., đây là thứ đã bắt tên miền của tác giả.me\..*— chặn bất kỳ tên miền nào bắt đầu bằngme., đó là lý do tại saome.gov.uathất bại.alice\..*— có lẽ dành cho Alice, dịch vụ email? Không ai biết.mail\..{1,3}(\..{2})?$— một regex khớp vớimail.theo sau là 1-3 ký tự và một TLD tùy chọn, sẽ bắtmail.ionhưng cũng bắtmail.abc(nếu đó là TLD hợp lệ).
Danh sách đầy đủ là một mớ hỗn độn hàng trăm mục, trộn lẫn các nhà cung cấp thực, dịch vụ đã chết, và các tên miền ngẫu nhiên như teleworm.com và ii-ii-ii-ii.com. Hàm xác thực rất đơn giản: nếu tên miền khớp với bất kỳ mẫu nào trong số này (không phân biệt hoa thường, neo ở đầu), nó sẽ bị từ chối.
Điều quan trọng: đây là xác thực chỉ ở phía frontend. Nhà phát triển đã vô hiệu hóa hàm trong trình duyệt và hoàn tất đăng ký mà không gặp vấn đề gì. Không có kiểm tra phía máy chủ. Vì vậy, toàn bộ danh sách chặn chỉ là một rào cản trải nghiệm người dùng, không phải biện pháp bảo mật — và nó đang tích cực từ chối các doanh nghiệp hợp pháp.
Google đã biết về điều này trong nhiều tháng. Chủ đề cộng đồng với Bộ Kinh tế Ukraine là từ đầu năm 2025, và trường hợp của tác giả đã trải qua nhiều cấp hỗ trợ. Tính đến tháng 8 năm 2026, vấn đề vẫn còn tồn tại.
Cách giải quyết là tầm thường đối với bất kỳ ai thoải mái với DevTools, nhưng đó không phải là vấn đề. Một công ty như Google phát hành một danh sách regex được mã hóa cứng chặn các tên miền web.* — và sau đó nói với khách hàng chỉ cần chọn một tên miền khác — thật đáng xấu hổ. Sửa chữa là một thay đổi một dòng trong regex hoặc, tốt hơn, chuyển xác thực sang phía máy chủ nơi nó có thể được sửa mà không cần triển khai frontend.
Hiện tại, nếu bạn gặp lỗi này, bạn có hai lựa chọn: chiến đấu với hỗ trợ của Google trong một tuần, hoặc mở DevTools, tìm hàm _.Au, và đặt nó thành return false. Cách sau nhanh hơn.
Các kỹ sư sản phẩm của Google đề xuất sử dụng một tên miền khác vì hệ thống của họ gắn cờ sai một tên miền hợp pháp — và họ thậm chí không biết tại sao.
Thảo luận
0 bình luận
Hãy là người đầu tiên thảo luận.