Google reCaptcha Odoo là gì?
Google reCaptcha Odoo là việc tích hợp google recaptcha vào website Odoo. Việc tích hợp Google recaptcha giúp giảm thiểu khả năng tấn công Ddos, tăng tính bảo mật cho thông tin.
Trong bài viết trước mình đã hướng dẫn sử dụng Google Search và Google Analytics cho Odoo. Bài viết này mình sẽ tiếp tục giới thiệu cách sử dụng Google reCaptcha.
Hướng dẫn thực hiện.
1. Đăng ký google recaptcha
Đăng nhập tài khoản Gmail và vào đường dẫn https://www.google.com/recaptcha/intro/
Bạn sẽ thấy giao diện như thế này

Bạn nhấn vào Get reCAPTCHA bạn sẽ được giao diện như thế này

Bạn nhập các thông tin Label, chọn reCAPTCHA V2, đánh tên domain và check vào ô accept.
Sau đó nhấn Register bạn sẽ được giao diện như thế này.

Vậy là bạn đã đăng ký thành công Google reCaptcha.
2. Thao tác trên Odoo.
Cài đặt Module website_recaptcha_reloaded, các bạn có thể download tại đây.

Bạn vào menu Website Admin để cấu hình (Odoo9), hoặc Setting->Website Setting (Odoo8)

Bạn nhập vào:
Ô reCAPTCHA site Key là dòng Site Key khi đăng ký trên Google reCaptcha.
Ô reCAPTCHA Private Key là dòng Secret Key khi đăng ký trên Google reCaptcha.
3. Sử dụng.
Tạo một file XML để tạo một template cho Google reCaptcha.
Copy nội dung sau:
<openerp>
<data>
<template id="vi_recaptcha_form" name="Google reCAPTCHA" inherit_id="website.trial">
<xpath expr="//label[@id='before_recaptcha']" position="after">
<script src='https://www.google.com/recaptcha/api.js'></script>
<div class="g-recaptcha" t-att-data-sitekey="website.recaptcha_site_key" data-theme="dark"></div>
</xpath>
</template>
</data>
</openerp>
Khi bạn sử dụng trên trang nào chỉ việc gọi lại template này.
Để kiểm tra Google reCaptcha sau khi nhấn xác nhận một hành động nào đó.
Bạn sử dụng đoạn code sau:
if kw.has_key('g-recaptcha-response') and not request.website.is_captcha_valid(kw['g-recaptcha-response']):
#thông báo trả về khi captcha sai
else:
#thao tác khi catcha được xác thực
Kết luận:
Mình vừa giới thiệu đến các bạn cách cài đặt Google reCaptcha Odoo. Các bạn có thắc mắc gì có thể để lại comment chia sẽ bên dưới.
Cảm ơn các bạn theo dõi.