Tổng quat:
Xin lỗi bạn là người trả lời tin xấu, nhưng sau khi nghiên cứu và gỡ lỗi, rõ ràng là không có cách nào để tùy chỉnh kiểu dáng của các điều khiển reCAPTCHA mới. Các điều khiển được bao bọc trong một iframe
ngăn chặn việc sử dụng CSS để tạo kiểu cho chúng và Chính sách cùng nguồn gốc ngăn JavaScript truy cập nội dung, loại trừ ngay cả một giải pháp hack.
Tại sao không tùy chỉnh API ?:
Không giống như phiên bản API reCAPTCHA 1.0 , không có tùy chọn tùy chỉnh trong phiên bản API 2.0 . Nếu chúng ta xem xét cách thức hoạt động của API mới này, không có gì ngạc nhiên tại sao.
Mặc dù API reCAPTCHA mới nghe có vẻ đơn giản, nhưng có một mức độ phức tạp cao đằng sau hộp kiểm khiêm tốn đó. CAPTCHA từ lâu đã dựa vào sự bất lực của robot để giải quyết văn bản bị bóp méo. Tuy nhiên, nghiên cứu của chúng tôi gần đây đã chỉ ra rằng công nghệ Trí tuệ nhân tạo ngày nay có thể giải quyết ngay cả những biến thể khó nhất của văn bản bị bóp méo với độ chính xác 99,8%. Do đó, tự nó, văn bản bị bóp méo, không còn là một phép thử đáng tin cậy nữa.
Để chống lại điều này, năm ngoái, chúng tôi đã phát triển chương trình phụ trợ Phân tích rủi ro nâng cao cho reCAPTCHA chủ động xem xét toàn bộ tương tác của người dùng với CAPTCHA — trước, trong và sau — để xác định xem người dùng đó có phải là con người hay không. Điều này cho phép chúng tôi ít phụ thuộc hơn vào việc nhập văn bản bị méo và do đó, mang lại trải nghiệm tốt hơn cho người dùng. Chúng tôi đã nói về điều này trong bài đăng Ngày lễ tình nhân vào đầu năm nay.
Nếu bạn có thể thao tác trực tiếp kiểu dáng của các phần tử điều khiển, bạn có thể dễ dàng can thiệp vào logic hồ sơ người dùng để làm cho reCAPTCHA mới khả thi.
Còn về Chủ đề tùy chỉnh thì sao ?:
Bây giờ API mới cung cấp một theme
tùy chọn , theo đó bạn có thể chọn một chủ đề đặt trước chẳng hạn như light
và dark
. Tuy nhiên, hiện không có cách nào để tạo chủ đề tùy chỉnh. Nếu chúng ta kiểm tra iframe
, chúng ta sẽ thấy theme
tên được chuyển vào chuỗi truy vấn của src
thuộc tính. URL này trông giống như sau.
https://www.google.com/recaptcha/api2/anchor?...&theme=dark&...
Tham số này xác định tên lớp CSS nào được sử dụng trên phần tử trình bao bọc trong iframe
và xác định chủ đề đặt trước sẽ sử dụng.
Đào thông qua các nguồn minified, tôi thấy rằng thực sự có giá trị 4 chủ đề hợp lệ, mà là nhiều hơn 2 liệt kê trong tài liệu hướng dẫn, nhưng default
và standard
cũng giống như light
.
Chúng ta có thể xem đoạn mã chọn tên lớp từ đối tượng này tại đây.
Không có mã cho chủ đề tùy chỉnh và nếu bất kỳ theme
giá trị nào khác được chỉ định, nó sẽ sử dụng standard
chủ đề.
Tóm lại là:
Hiện tại, không có cách nào để tạo kiểu đầy đủ cho các phần tử reCAPTCHA mới, chỉ iframe
có thể cách điệu các phần tử của trình bao bọc xung quanh . Điều này gần như chắc chắn được thực hiện có chủ đích, để ngăn người dùng phá vỡ logic hồ sơ người dùng, điều này làm cho hộp kiểm không có hình ảnh xác thực mới có thể thực hiện được. Có thể Google có thể triển khai API chủ đề tùy chỉnh giới hạn, có thể cho phép bạn chọn màu tùy chỉnh cho các phần tử hiện có, nhưng tôi không mong đợi Google triển khai kiểu CSS đầy đủ.