Sử dụng google chapcha chống spam cho website

Việc sử dụng captcha trong các form website giúp chúng ta ngăn chặn các hành động spam trên trang web của chúng ta vd như việc auto click 1 tác vụ nào đó hay như việc user dùng các script tự động điền các giá trị vào form và submit khiến database của chúng ta bị flood. Sử dụng google recaptcha phiên bản mới của google giúp chúng ta giải quyết được vấn đề trên và hơn nữa user cũng không phải nhập những ký tự khó chịu hay như những loại captcha khó đỡ .

funny-captcha-dont-type

Đơn giản hơn với google recaptcha user chỉ việc click xác minh lại:

hero-recaptcha-demo

Để có thể sử dụng google recaptcha các bạn cần có 1 tài khoản google vằ đăng ký Key của nó tại địa chỉ https://www.google.com/recaptcha . Click Get reCAPTCHA để nhận key.

1

Mục label: Điền tên gọi tùy bạn

 

Mục Domains: Nhập tên miền webstite của bạn.

Sau khi Resgister xong bạn sẽ được cung cấp 2 loại key Site key và Serect key, các bạn lưu lại giá trị 2 key này:

2

Site key: Sử dụng trong trang publish web của bạn và Serect key dùng để post lên server của google recaptcha xem user vừa tương tác có hợp lệ không.

Làm theo hướng dẫn Step 1 nhúng đoạn script <script src='https://www.google.com/recaptcha/api.js?hl=vi'></script>  vào trong tag Header của website bạn (Mình thêm tham số hl=vi để sử dụng ngôn ngữ tiếng việt, với tiếng anh bạn thay vi = en)

Đoạn <div class="g-recaptcha" data-sitekey="[Site_key]" id="myReCaptcha" runat="server"></div>  bạn nhúng vào nơi muốn hiển thị captcha, thay [Site_key] thành của bạn. (Mình thêm id = ‘myReCaptcha’ và runat = ‘server’ để sử lý code phía server asp.net)

Thường để ở cuối mỗi form. Khi hiển thị nó sẽ như vậy
Thường để ở cuối mỗi form. Khi hiển thị nó sẽ như vậy

Cơ chế để chúng ta sử dụng nó sẽ như thế này:

Khi user submit form , phía code server sẽ kiểm tra trên server của google recaptcha user vừa tương tác có hợp lệ hay không. Khi form của chúng ta postback về thì sẽ tự động có thêm tham số  request “g-recaptcha-response“, đây chính là đoạn mã token mà user đó vừa tương tác với captcha. Nếu đoạn mã này = rỗng tức là user chưa tích vào “tôi không phải là người máy”

Tiếp theo chúng ta sẽ check với server google recaptcha xem user đó đã được xác minh ” không phải người máy ” hay chưa. Để làm việc này chúng ta gửi GET hoặc POST lên địa chỉ https://www.google.com/recaptcha/api/siteverify với 3 tham số

  • secret : Mã số serect key site của bạn được cấp bên trên.
  • response: Token của user, chính là Request[“g-recaptcha-response”] ta nhận được khi user submit form.
  • remoteip : Địa chỉ IP của user ( Không cần thiết tham số này).

Nếu thành công server sẽ phản hồi lại chúng ta thông tin cấu trúc như sau. Chúng ta chỉ cần parse “success” giá trị là true hay false để biết kết quả.

Đoạn code xác minh người dùng, thay [Serect_key] là Serect key của bạn

Chú ý: Nếu bạn dùng ajax control toolkit thì mỗi khi submit form bạn phải có đoạn code này vào thì recaptcha mới hoạt động tiếp được

ScriptManager.RegisterStartupScript(this, typeof(Page), "CaptchaReload","$.getScript('https://www.google.com/recaptcha/api.js', function () {});", true);


Hãy gọi cho chúng tôi để được tư vấn miễn phí:
   Hotline: 0988.077.796 - 01.282.282.993
  Email: gigapixelvn@gmail.com
  Địa chỉ: Tầng 2, số 76 Kênh Liêm, Hạ Long,Quảng Ninh, Việt Nam




   Email:  gigapixelvn@gmail.com
   Điện thoại:  0988.077.796   01.282.282.993

  Chat với chúng tôi