Làm cách nào để tích hợp Google reCAPTCHA v2 với PHP?

Quan trọng. Phiên bản 1. 0 của API reCAPTCHA không còn được hỗ trợ, vui lòng nâng cấp lên Phiên bản 2. 0. Tìm hiểu thêm

Thư viện PHP reCAPTCHA cung cấp một cách đơn giản để đặt CAPTCHA trên trang web PHP của bạn, giúp bạn ngăn bot lạm dụng nó. Thư viện bao bọc API reCAPTCHA

Để sử dụng reCAPTCHA với PHP, bạn có thể tải xuống thư viện reCAPTCHA PHP. Bạn sẽ chỉ cần một tệp từ đó (recaptchalib. php). Các tệp khác là ví dụ, readme và nội dung hợp pháp -- chúng không ảnh hưởng đến chức năng

Bắt đầu nhanh

Sau khi bạn đăng ký khóa API, bên dưới là hướng dẫn cơ bản để cài đặt reCAPTCHA trên trang web của bạn. Bạn có thể tìm thấy hướng dẫn tham khảo đầy đủ về plugin PHP bên dưới

Phía Khách hàng (Cách hiển thị hình ảnh CAPTCHA)

If you want to use the PHP library to display the reCAPTCHA widget, you'll need to insert this snippet of code inside the

element where the reCAPTCHA widget will be placed:

  require_once('recaptchalib.php');
  $publickey = "your_public_key"; // you got this from the signup page
  echo recaptcha_get_html($publickey);

Với mã, biểu mẫu của bạn có thể trông giống như thế này

  
     
      

      
        
        
      

      
    
  

Đừng quên đặt $publickey bằng cách thay thế your_public_key bằng khóa công khai API của bạn

Lưu ý rằng giá trị của thuộc tính "hành động" là "xác minh. php". Bây giờ, xác minh. php là tệp đích trong đó các giá trị của biểu mẫu này được gửi tới. Vì vậy, bạn sẽ cần một tập tin xác minh. php ở cùng vị trí với html của máy khách

Hàm require_once trong ví dụ trên mong đợi recaptchalib. php nằm trong cùng thư mục với tệp biểu mẫu của bạn. Nếu nó nằm trong một thư mục khác, bạn phải liên kết nó một cách thích hợp. Ví dụ: nếu recaptchalib của bạn. php nằm trong thư mục có tên "captcha" cùng cấp với tệp biểu mẫu của bạn, chức năng sẽ như thế này. require_once('captcha/recaptchalib.php')

Phía máy chủ (Cách kiểm tra xem người dùng đã nhập câu trả lời đúng chưa)

Đoạn mã sau phải được đặt ở đầu xác minh. tập tin php

  is_valid) {
    // What happens when the CAPTCHA was entered incorrectly
    die ("The reCAPTCHA wasn't entered correctly. Go back and try it again." .
         "(reCAPTCHA said: " . $resp->error . ")");
  } else {
    // Your code here to handle a successful verification
  }
  ?>

Trong đoạn mã trên

  • recaptcha_check_answer trả về một đối tượng cho biết liệu người dùng có hoàn thành thử thách thành công hay không
  • Nếu $resp->is_valid là đúng thì thử thách hình ảnh xác thực đã được hoàn thành chính xác và bạn nên tiếp tục xử lý biểu mẫu
  • Nếu $resp->is_valid là sai thì người dùng đã không cung cấp đúng văn bản hình ảnh xác thực và bạn nên hiển thị lại biểu mẫu để cho phép họ thử lại lần nữa. Trong trường hợp này, $resp->error sẽ là một mã lỗi có thể được cung cấp cho
      
         
          
    
          
    0. Việc chuyển mã lỗi khiến điều khiển reCAPTCHA hiển thị thông báo giải thích rằng người dùng đã nhập văn bản không chính xác và nên thử lại
  • Lưu ý rằng mã này đang yêu cầu khóa riêng, không nên nhầm lẫn với khóa chung. Bạn lấy nó từ cùng một trang với khóa công khai

    Ngoài ra, hãy đảm bảo rằng biểu mẫu của bạn được đặt để nhận các biến biểu mẫu bằng cách sử dụng $_POST, thay vì $_REQUEST và bản thân biểu mẫu đó đang sử dụng phương thức POST

    Đó là nó. reCAPTCHA hiện sẽ hoạt động trên trang web của bạn

    Đọc thêm

  • Tùy chỉnh giao diện
  • Mẹo và Nguyên tắc
  • Xử lý sự cố
  • Hướng dẫn tham khảo plugin PHP

    Dưới đây là danh sách đầy đủ tất cả các phương thức của Plugin reCAPTCHA PHP

    Hàm recaptcha_get_html

    Hàm

      
         
          
    
          
    0 hiển thị HTML hiển thị reCAPTCHA cho người dùng

    recaptcha_get_htmlTham số$pubkey -- chuỗi. yêu cầu. Khóa công khai reCAPTCHA của bạn, từ chuỗi $error --. tùy chọn (null là mặc định)Nếu chuỗi này được đặt, khu vực reCAPTCHA sẽ hiển thị mã lỗi đã cho. Mã lỗi này đến từ ReCaptchaResponse->$error$use_ssl -- boolean. tùy chọn (false là mặc định) Có nên sử dụng API dựa trên SSL không? . Giá trị trả vềMột chuỗi chứa HTML để đưa vào trang web

    Hàm recaptcha_check_answer

    Sau khi người dùng điền vào biểu mẫu HTML, bao gồm cả câu trả lời của họ cho CAPTCHA, chúng tôi muốn kiểm tra câu trả lời của họ khi họ gửi biểu mẫu bằng cách sử dụng hàm recaptcha_check_answer. Câu trả lời của người dùng sẽ ở hai trường biểu mẫu,

      
         
          
    
          
    3 và
      
         
          
    
          
    4. Thư viện reCAPTCHA sẽ tạo một yêu cầu HTTP đến máy chủ reCAPTCHA và xác minh câu trả lời của người dùng

    recaptcha_check_answerParameter$privkey -- chuỗi. yêu cầu. Khóa cá nhân reCAPTCHA của bạn, từ. $remoteip -- chuỗi. yêu cầu. Địa chỉ IP của người dùng, ở định dạng 192. 168. 0. 1$challenge -- chuỗi. yêu cầu
    Giá trị của trường biểu mẫu recaptcha_challenge_field$response -- string. bắt buộcGiá trị của trường biểu mẫu recaptcha_response_fieldGiá trị trả lạiMột phiên bản của lớp ReCaptchaResponseReCaptchaResponseField$is_valid -- booleanReCAPTCHA có tin rằng câu trả lời hợp lệ không?$error -- stringNếu câu trả lời không hợp lệ thì vấn đề là gì?

    da thư

    Thư viện PHP reCAPTCHA bao gồm các ràng buộc cho API Mailhide. API này cho phép bạn bọc một email trong reCAPTCHA để ngăn những kẻ gửi thư rác nhìn thấy nó. bài thi. @ví dụ. com

    Phần Mailhide của Thư viện PHP yêu cầu mô-đun mcrypt PHP

    API Mailhide bao gồm hai chức năng

      
         
          
    
          
    5 và
      
         
          
    
          
    6. Các hàm có cùng tham số. Phiên bản _html trả về HTML có thể được đặt trực tiếp trên trang web của bạn. Phần tên người dùng của email được chuyển vào bị cắt bớt và được thay thế bằng một liên kết gọi Mailhide. Phiên bản _url cung cấp cho bạn url để giải mã email và để bạn đặt email trong HTML

    Làm cách nào để tích hợp reCAPTCHA v2 trong PHP?

    Trước khi thêm hộp kiểm reCAPTCHA v2 vào trang web của mình, bạn cần đăng ký trang web của mình và nhận khóa API reCAPTCHA. .
    Nhãn – Nó giúp xác định trang web đã đăng ký của bạn trong tương lai
    loại reCAPTCHA – Chọn reCAPTCHA v2 » Tôi không phải là người máy Hộp kiểm
    Tên miền – Chỉ định tên miền của trang web của bạn

    PHP tích hợp với Google reCAPTCHA như thế nào?

    Cách tiếp cận. .
    Đăng ký trang web của bạn tại Google reCAPTCHA
    Gửi biểu mẫu HTML
    Nhận khóa phản hồi ở phía máy chủ
    Xác minh lại khóa và đưa ra phản hồi cho người dùng cuối

    Làm cách nào để thêm Google Captcha vào mẫu đăng ký PHP?

    Làm cách nào để tích hợp google captcha với php? .
    Bước 1. Đăng ký tên miền của bạn để sử dụng hình ảnh xác thực. Chìa khoá website. Chìa khoá bí mật
    Bước 2. Bao gồm tệp script cho Google captcha
    Bước 3. Bao gồm phần HTML của tiện ích Google reCaptcha
    Bước 4. Xác thực mã PHP

    Làm cách nào để triển khai Captcha trong PHP?

    phiên php_start();