PHP এর সাথে reCAPTCHA ব্যবহার করা

গুরুত্বপূর্ণ : reCAPTCHA API-এর সংস্করণ 1.0 আর সমর্থিত নয়, অনুগ্রহ করে সংস্করণ 2.0-এ আপগ্রেড করুন৷ আরও জানুন

reCAPTCHA PHP লাইব্রেরি আপনার PHP ওয়েবসাইটে একটি ক্যাপচা রাখার একটি সহজ উপায় প্রদান করে, যা আপনাকে বটদের অপব্যবহার করা থেকে বিরত রাখতে সহায়তা করে৷ লাইব্রেরি reCAPTCHA এপিআই মোড়ানো।

PHP এর সাথে reCAPTCHA ব্যবহার করতে, আপনি reCAPTCHA PHP লাইব্রেরি ডাউনলোড করতে পারেন। সেখান থেকে আপনার শুধুমাত্র একটি ফাইল লাগবে (recaptchalib.php)। অন্যান্য ফাইল হল উদাহরণ, রিডমি এবং আইনি জিনিস -- তারা কার্যকারিতা প্রভাবিত করে না।

দ্রুত শুরু

আপনি আপনার API কীগুলির জন্য সাইন আপ করার পরে, নীচে আপনার সাইটে reCAPTCHA ইনস্টল করার প্রাথমিক নির্দেশাবলী রয়েছে৷ পিএইচপি প্লাগইনের একটি সম্পূর্ণ রেফারেন্স গাইড নীচে পাওয়া যাবে।

ক্লায়েন্ট সাইড (কিভাবে ক্যাপচা ইমেজ দেখানো যায়)

আপনি যদি reCAPTCHA উইজেট প্রদর্শন করতে PHP লাইব্রেরি ব্যবহার করতে চান, তাহলে আপনাকে <form> উপাদানের ভিতরে কোডের এই স্নিপেটটি সন্নিবেশ করতে হবে যেখানে reCAPTCHA উইজেটটি স্থাপন করা হবে:

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

কোড সহ, আপনার ফর্মটি এইরকম দেখতে পারে:

  <html>
    <body> <!-- the body tag is required or the CAPTCHA may not show on some browsers -->
      <!-- your HTML content -->

      <form method="post" action="verify.php">
        <?php
          require_once('recaptchalib.php');
          $publickey = "your_public_key"; // you got this from the signup page
          echo recaptcha_get_html($publickey);
        ?>
        <input type="submit" />
      </form>

      <!-- more of your HTML content -->
    </body>
  </html>

আপনার API পাবলিক কী দিয়ে your_public_key প্রতিস্থাপন করে $publickey সেট করতে ভুলবেন না।

উল্লেখ্য যে "অ্যাকশন" অ্যাট্রিবিউটের মান হল "verify.php"। এখন, verify.php হল সেই গন্তব্য ফাইল যেখানে এই ফর্মের মান জমা দেওয়া হয়। তাই ক্লায়েন্ট html এর মতো একই স্থানে আপনার একটি ফাইল verify.php প্রয়োজন হবে।

উপরের উদাহরণে need_once ফাংশন আশা করে যে recaptchalib.php আপনার ফর্ম ফাইলের মতো একই ডিরেক্টরিতে থাকবে। এটি অন্য ডিরেক্টরিতে থাকলে, আপনাকে অবশ্যই এটি যথাযথভাবে লিঙ্ক করতে হবে। উদাহরণস্বরূপ, যদি আপনার recaptchalib.php "ক্যাপচা" নামক ডিরেক্টরিতে থাকে যা আপনার ফর্ম ফাইলের মতো একই স্তরে থাকে, তাহলে ফাংশনটি এরকম দেখাবে: require_once('captcha/recaptchalib.php')

সার্ভার সাইড (ব্যবহারকারী সঠিক উত্তর দিলে কিভাবে পরীক্ষা করবেন)

নিম্নলিখিত কোডটি verify.php ফাইলের শীর্ষে স্থাপন করা উচিত:

  <?php
  require_once('recaptchalib.php');
  $privatekey = "your_private_key";
  $resp = recaptcha_check_answer ($privatekey,
                                $_SERVER["REMOTE_ADDR"],
                                $_POST["recaptcha_challenge_field"],
                                $_POST["recaptcha_response_field"]);

  if (!$resp->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
  }
  ?>

উপরের কোডে:

  • recaptcha_check_answer একটি বস্তু প্রদান করে যা প্রতিনিধিত্ব করে যে ব্যবহারকারী সফলভাবে চ্যালেঞ্জটি সম্পন্ন করেছে কিনা।
  • যদি $resp->is_valid সত্য হয় তাহলে ক্যাপচা চ্যালেঞ্জটি সঠিকভাবে সম্পন্ন হয়েছে এবং আপনার ফর্ম প্রক্রিয়াকরণ চালিয়ে যাওয়া উচিত।
  • যদি $resp->is_valid মিথ্যা হয় তাহলে ব্যবহারকারী সঠিক ক্যাপচা টেক্সট প্রদান করতে ব্যর্থ হয় এবং তাদের আরেকটি চেষ্টা করার জন্য আপনাকে ফর্মটি পুনরায় প্রদর্শন করা উচিত। এই ক্ষেত্রে $resp->error একটি ত্রুটি কোড হবে যা recaptcha_get_html এ প্রদান করা যেতে পারে। ত্রুটি কোডটি পাস করার ফলে reCAPTCHA নিয়ন্ত্রণ একটি বার্তা প্রদর্শন করে যে ব্যাখ্যা করে যে ব্যবহারকারী পাঠ্যটি ভুলভাবে প্রবেশ করেছে এবং আবার চেষ্টা করা উচিত।
  • লক্ষ্য করুন যে এই কোডটি ব্যক্তিগত কীটির জন্য জিজ্ঞাসা করছে, যা সর্বজনীন কীটির সাথে বিভ্রান্ত হওয়া উচিত নয়। আপনি পাবলিক কী হিসাবে একই পৃষ্ঠা থেকে এটি পান।

    এছাড়াও নিশ্চিত করুন যে আপনার ফর্মটি $_REQUEST এর পরিবর্তে $_POST ব্যবহার করে ফর্ম ভেরিয়েবল পেতে সেট করা আছে এবং ফর্মটি নিজেই POST পদ্ধতি ব্যবহার করছে।

    তাই তো! reCAPTCHA এখন আপনার সাইটে কাজ করা উচিত।

    আরও পড়া

  • চেহারা এবং অনুভূতি কাস্টমাইজ করা
  • টিপস এবং নির্দেশিকা
  • সমস্যা সমাধান
  • পিএইচপি প্লাগইন রেফারেন্স গাইড

    নীচে reCAPTCHA PHP প্লাগইনের সমস্ত পদ্ধতির একটি বিস্তৃত তালিকা রয়েছে৷

    recaptcha_get_html ফাংশন

    recaptcha_get_html ফাংশনটি HTML প্রদর্শন করে যা ব্যবহারকারীকে reCAPTCHA উপস্থাপন করে।

    recaptcha_get_html
    প্যারামিটার
    $pubkey -- স্ট্রিং। প্রয়োজনীয় API সাইনআপ পৃষ্ঠা থেকে আপনার reCAPTCHA সর্বজনীন কী
    $ত্রুটি -- স্ট্রিং। ঐচ্ছিক (নাল হল ডিফল্ট) এই স্ট্রিং সেট করা থাকলে, reCAPTCHA এলাকা প্রদত্ত ত্রুটি কোড প্রদর্শন করবে। এই ত্রুটি কোড ReCaptchaResponse->$error থেকে আসে
    $use_ssl -- বুলিয়ান। ঐচ্ছিক (মিথ্যা ডিফল্ট) SSL-ভিত্তিক API ব্যবহার করা উচিত? আপনি যদি SSL এর মাধ্যমে ব্যবহারকারীর কাছে একটি পৃষ্ঠা প্রদর্শন করেন, তাহলে এটিকে সত্য হিসাবে সেট করতে ভুলবেন না যাতে ব্যবহারকারীর ব্রাউজারে একটি ত্রুটি ডায়ালগ না আসে।
    রিটার্ন মান ওয়েব পেজে রাখার জন্য HTML ধারণকারী একটি স্ট্রিং।

    recaptcha_check_answer ফাংশন

    ব্যবহারকারী ক্যাপচা-এর জন্য তাদের উত্তর সহ HTML ফর্মটি পূরণ করার পরে, তারা recaptcha_check_answer ফাংশন ব্যবহার করে ফর্ম জমা দেওয়ার সময় আমরা তাদের উত্তর পরীক্ষা করতে চাই। ব্যবহারকারীর উত্তর দুটি ফর্ম ফিল্ডে হবে, recaptcha_challenge_field এবং recaptcha_response_field । reCAPTCHA লাইব্রেরি reCAPTCHA সার্ভারে একটি HTTP অনুরোধ করবে এবং ব্যবহারকারীর উত্তর যাচাই করবে।

    recaptcha_check_answer
    প্যারামিটার
    $privkey -- স্ট্রিং। প্রয়োজনীয় API সাইনআপ পৃষ্ঠা থেকে আপনার reCAPTCHA ব্যক্তিগত কী।
    $remoteip -- স্ট্রিং। প্রয়োজনীয় ব্যবহারকারীর আইপি ঠিকানা, বিন্যাসে 192.168.0.1
    $চ্যালেঞ্জ -- স্ট্রিং। প্রয়োজনীয়
    recaptcha_challenge_field ফর্ম ফিল্ডের মান
    $response -- স্ট্রিং। প্রয়োজনীয় ফর্ম ফিল্ডের মান recaptcha_response_field
    রিটার্ন মান ReCaptchaResponse ক্লাসের একটি উদাহরণ

    ReCaptchaResponse
    মাঠ
    $is_valid -- বুলিয়ান reCAPTCHA উত্তরটি বৈধ বলে বিশ্বাস করেছিল?
    $ত্রুটি -- স্ট্রিং উত্তরটি অবৈধ হলে সমস্যা কি ছিল? এই ত্রুটি কোড recaptcha_get_html এ ব্যবহার করা যেতে পারে
    রিটার্ন মান আপনি যে ফাংশনটি কল করেছেন তার উপর নির্ভর করে ইমেল ঠিকানাটি ডিকোড করার জন্য HTML বা raw url।

    মেইলহাইড

    reCAPTCHA PHP লাইব্রেরিতে Mailhide API-এর বাইন্ডিং রয়েছে। এই API আপনাকে স্প্যামারদের এটি দেখতে থেকে আটকাতে একটি reCAPTCHA-এ একটি ইমেল মোড়ানোর অনুমতি দেয়: exam ... @example.com।

    PHP লাইব্রেরির Mailhide অংশের জন্য PHP mcrypt মডিউল প্রয়োজন।

    Mailhide API দুটি ফাংশন নিয়ে গঠিত recaptcha_mailhide_html এবং recaptcha_mailhide_url । ফাংশন একই পরামিতি আছে. _html সংস্করণটি HTML প্রদান করে যা সরাসরি আপনার ওয়েব পৃষ্ঠায় রাখা যেতে পারে। পাস করা ইমেলের ব্যবহারকারীর নামের অংশটি কেটে ফেলা হয় এবং একটি লিঙ্ক দিয়ে প্রতিস্থাপিত হয় যা Mailhide কল করে। _url সংস্করণ আপনাকে ইমেল ডিকোড করার জন্য url দেয় এবং ইমেলটি HTML এ রাখার জন্য এটি আপনার উপর ছেড়ে দেয়।

    recaptcha_mailhide_url / recaptcha_mailhide_html
    প্যারামিটার
    $pubkey -- স্ট্রিং সাইন আপ পৃষ্ঠা থেকে Mailhide পাবলিক কী
    $privkey -- স্ট্রিং সাইন আপ পৃষ্ঠা থেকে Mailhide ব্যক্তিগত কী
    $email -- স্ট্রিং আপনি যে ইমেল ঠিকানাটি লুকাতে চান।

    নিম্নলিখিত উদাহরণ দেখায় কিভাবে Mailhide ব্যবহার করতে হয়:

    <html><body>
    <?
    require_once ("recaptchalib.php");
    // get a key at http://www.google.com/recaptcha/mailhide/apikey
    $mailhide_pubkey = '';
    $mailhide_privkey = '';
    ?>
    The Mailhide encoding of example@example.com is
    <?
    echo recaptcha_mailhide_html ($mailhide_pubkey,
                                  $mailhide_privkey,
                                  "example@example.com");
    ?>.
    <br>
    The url for the email is:
    <?
    echo recaptcha_mailhide_url ($mailhide_pubkey,
                                 $mailhide_privkey,
                                 "example@example.com");
    ?>
    <br>
    </body></html>