Trang chủ Lập trình Javascript - HTML Sử dụng reCaptcha cho trang web thuần chỉ hỗ trợ Javascript

Sử dụng reCaptcha cho trang web thuần chỉ hỗ trợ Javascript

Trước giờ khi có yêu cầu thiết lập Captcha cho các trang web thuần HTML chỉ hỗ trợ Javascript thì mình thường phải viết 1 captcha đơn giản kiểu như làm phép tính hoặc cao cấp hơn mình sẽ kết hợp với thẻ canvas trong HTML5 để tạo ra một chuỗi ngẫu nhiên nhưng được trang trí theo kiểu… khó đọc. Hôm rồi dính yêu cầu có liên quan đến reCaptcha và rồi tìm hiểu thì reCaptcha có hỗ trợ các hàm callback trong javascript và chợt loé lên giải pháp để có thể sử dụng reCaptcha cho các trang web thuần HTML.

Đầu tiên mình sẽ chèn reCaptcha và trang web.

Gọi thư viện API của reCaptcha

Các hàm javascript để chạy reCaptcha

Chèn reCaptcha vào vị trí  bằng cách chèn thẻ DIV

Giải thích

Đầu tiên ta sẽ phải vô hiệu hoá (disable) nút bấm submit của form bằng thuộc tính disabled. Ở các đoạn code ở trên nút bấm này có id là contactFormSubmit.

Hàm onloadCallback là hàm để khởi tạo reCaptcha.

Hàm actionCallback là hàm chạy khi người dùng thực hiện hành động xác minh “I’m not a robot”. Ở hàm này mình sẽ viết hàm bỏ thuộc tính disabled cho nút bấm submit của form để người dùng có thể bấm gửi form.

Hàm expCallback là hàm chạy hành động khi reCaptcha hết phiên. Ở đây mình sẽ viết hàm đưa thuộc tính disabled vào lại nút submit của form.

Demo: https://huynh-mai-anh-kiet.myshopify.com/pages/contact

Dĩ nhiên là cách này cũng không xử lý triệt để và không thể phát huy hết khả năng chặn spam của reCaptcha nhưng nếu gặp khách hàng khó tính yêu cầu bắt buộc phải dùng reCaptcha trên trang HTML của họ thì đây là giải pháp.

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

Huỳnh Mai Anh Kiệt

Huỳnh Mai Anh Kiệthttps://www.mangbinhdinh.vn
Anh là một người đam mê công nghệ. Hiện tại anh là một lập trình viên tại Quy Nhơn.

BÌNH LUẬN

Vui lòng nhập bình luận của bạn
Vui lòng nhập tên của bạn ở đây

- Advertisment -
Shopify

BÀI VIẾT MỚI

Shopify ra mắt trang web chính thức cho thị trường Việt Nam

Shopify là nền tảng thương mại điện tử cho phép dễ dàng tạo ra các trang web bán hàng online cho do doanh nghiệp...

Jeff Bezos sẽ rời vị trí CEO của Amazon

Theo một thông báo mới đây từ Amazon, Jeff Bezos, người sáng lập và là CEO của gã khổng lồ này trong gần 30...

Free Fire hợp tác cùng Sơn Tùng M-TP ra mắt dự án Skyler

Free Fire là tựa game bắn súng sinh tồn nổi tiếng bậc nhất trên nền tảng di động. Sau hơn 3 năm phát hành,...

Lấy một số ngẫu nhiên với Shopify Liquid

Shopify Liquid rất hạn chế nên đôi khi có những yêu cầu tưởng chừng đơn giản nhưng lại không biết code như thế nào....

Hướng dẫn tạo ảnh hoạt hình từ ảnh thật với ToonMe

Bạn có tò mò muốn biết bản thân mình sẽ như thế nào khi trong vai một nhân vật hoạt hình không? Không cần...

BẠN XEM CHƯA

Tra cứu điểm thi Tốt nghiệp THPT Quốc gia năm 2019 của thí sinh Bình Định

Kỳ thi Tốt nghiệp THPT quốc gia 2019 đã kết thúc và thông tin điểm thi THPT quốc gia 2019 là điều quan tâm...

Hura Apps tuyển lập trình viên và thiết kế web ở Quy Nhơn

Do nhu cầu mở rộng nên Hura Apps - một team startup có trụ sở ở Quy Nhơn - Bình Định cần tuyển dụng...

Dùng Dropbox quét tài liệu bằng camera

Nếu bạn dùng iPhone hoặc iPad và có cài đặt ứng dụng Dropbox thì có thể dùng nó để quét (scan) một trang tài...

Làm gọn thanh menu Start trên Windows 10

Nếu máy tính của bạn đang chạy hệ điều hành Windows 10 thì thanh menu Start sẽ hiển thị nhiều biểu tượng chương trình,...

Công cụ tính thể trạng cơ thể

Chỉ số BMI (Body Mass Index) trong y học dùng để đánh giá thể trạng cơ thể của một người. Nó được tính dựa...