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

Dân Anh đốt cột phát sóng 5G vì nghi phát tán virus Corona

Ít nhất ba cột phát sóng 5G vừa bị đốt cháy vì có người tin rằng nó là nguồn phát tán virus corona. Theo BBC,...

Kiểm tra trình duyệt của khách có phải là Safari bằng PHP

Hôm rồi chợt nhận ra điều là Safari của Apple chưa hỗ trợ hiển thị ảnh WebP. Vậy là cái plugin Hura Apps Photos...

GitHub mua lại nền tảng npm

npm là đóng một phần quan trọng trong cộng đồng JavaScript. Cộng đồng npm trong 10 năm qua là sự đóng góp của hàng...

Youtube cho phép quảng cáo trên video có nội dung liên quan đến Covid-19

Trong một bài đăng trên blog, CEO Susan Wojcicki cho biết YouTube sẽ bắt đầu cho phép chạy quảng cáo trên các video thảo...

Kiểm tra khả năng bị lây nhiễm Covid-19 của bạn bằng trí tuệ nhân tạo

Trong bối cảnh Covid-19 đang lan rộng và khả năng lây nhiễm rất cao khi ta vô tình tiếp xúc với các người bị...

BẠN XEM CHƯA

Rủ HMAK đi gặp Johnny Trí Nguyễn

Cuộc điện thoại cách đây vài phút - Alo! Anh Kiệt đang ở đâu đó. - Ở nhà... - Đi coi mặt Jonhny Trí Nguyễn không? - Không. -...

Mở lại tab đã đóng trên Google Chrome

Có thể các bạn đã biết khi dùng trình duyệt web Google Chrome, bấm cùng lúc 3 phím Ctrl + Shift + T để...

Xử lý các tập tin văn bản dễ dàng hơn với Replace Genius

Bạn thường xuyên làm việc với các tập tin văn bản và bạn thật sự chưa hài lòng với các tính năng hỗ trợ...

Xmarks Sync: Đồng bộ dữ liệu trên Firefox

Xmarks Sync là một add-ons dành riêng cho trình duyệt Firefox, giúp đồng bộ Bookmark, History, Password và nhiều thành phần khác thật dễ...

Tính năng chặn quảng cáo trên Firefox

Nếu bạn thường xài trình duyệt web Firefox và đã cập nhật lên phiên bản 55 hoặc mới hơn thì có thể bật tính...