reCaptcha with PHP

Captcha ဆိုတာကို Website တွေမှာ Register လုပ်ရင်ပဲ ဖြစ်ဖြစ်၊ Comment တွေ ရေးရင်ပဲ ဖြစ်ဖြစ် Gmail အကောင့်ဆောက်တဲ့ နေရာမှာ ဖြစ်ဖြစ် တွေ့ဖူးကြပြီး ဖြစ်မှာပါ။ ဒီ ပို့စ်ကို ဖတ်ရင်း Comment ပေးတဲ့ နေရာကို ကြည့်လိုက်ရင် captcha ကို ဖြည့်လိုက်မှ Comment ပေးလို့ ရပါတယ်။ တကယ်တော့ captcha ဖြည့်ရတယ်ဆိုတာ စိတ်အနှောက်အယှက်ဖြစ်စရာ ကောင်းပါတယ်။ ဒါပေမယ့် ထည့်မထားလို့လည်း မရပါဘူး။

Captcha ဆိုတာ တကယ်တော့ Program တစ်ခုပါပဲ။ အဓိက လုပ်ဆောင်ပေးတဲ့ Function ကတော့ Register လုပ်မယ့်သူဟာ Comment ပေးမယ့် သူဟာ လူလား ကွန်ပျူတာလား ဆိုပြီး ခွဲခြားပေးတာပါ။ အများအားဖြင့်တော့ Web Registration Form တွေရဲ့ အောက်ဆုံးမှာ စာသားတွေကို ပုံဖျက်ထားတဲ့ ပုံစံနဲ့ တွေ့ရတတ်ပါတယ်။ Captcha ကို ဆိုက်တော်တော်များများ အသုံးပြုကြရပါတယ်။ ဒီလို စိတ်အနှောက်အယှက် ဖြစ်စရာကြီးကို ဘာဖြစ်လို့ ထည့်ထားရပါသလဲ။ အဓိကကတော့ bots လို့ခေါ်တဲ့ Automated Programs တွေကို ကြောက်လို့ပါ။ Spam Comment တွေ Spam Registration တွေကို အဲဒီ Automated Programs တွေက ဖန်တီးပေးကြပါတယ်။

လူဝင်များတဲ့ Blog တွေမှာ လူဝင်များတဲ့ ဖိုရမ်တွေမှာ captcha လို Protected Program မထည့်ထားရင် Spam Comments တွေ Spam Registration တွေ တစ်ပုံကြီး တက်လာ ပါလိမ့်မယ်။ ဖိုရမ်တွေမှာဆို ပိုဆိုးပါတယ်။ ပို့စ်တွေကိုပါ bots တွေက တင်နိုင်စွမ်းရှိကြပါတယ်။ ဒီတော့ Random Generated Text တွေနဲ့ ပုံဖျက်ထးတဲ့ Text တွေကို သုံးပြီး bot တွေ ရန်က တားဆီးရပါတယ်။ ဒါကြောင့် captcha ကို မဖြစ်မနေသုံးကြရတာပါ။ bot တွေ အနေနဲ့ ပုံဖျက်ထားတဲ့ Text တွေကို မဖတ်နိုင်ပါဘူး။ လူတွေမှသာ ဖတ်နိုင်ပါတယ်။ ဒီလိုနည်းနဲ့ အကာအကွယ် ပေးပါတယ်။ ဒီလောက်ဆို Captcha အကြောင်း မသိသေးသူတွေ သိလောက်ပြီ ထင်ပါတယ်။

အရင်တုန်းက reCaptcha က သီးသန့် ရပ်တည်ခဲ့တာပါ။ ဒါပေမယ့် ခုသုံးဖို့လိုလို့ ကြည့်လိုက်တော့ Google က ဝယ်လိုက်ပြီ ထင်ပါတယ်။ Google အကောင့်နဲ့မှ သုံးလို့ရပါတော့တယ်။ အဲဒီမှာ ကိုယ်သုံးလိုတဲ့ ဆိုက်ကို Register လုပ်ပြီး Public Key နဲ့ Private Key ကို ရယူပြီးရင် ကိုယ့်ဆိုက်မှာ သုံးလို့ရပါပြီ။ နောက် API လည်း ပေးထားပါသေးတယ်။ အဲဒီ API ကို သုံးပြီး ကိုယ့်ဆိုက်မှာ ပေါင်းထည့်လို့ရပါပြီ။ PHP နဲ့ ဘယ်လိုရေးသလဲ ဆိုတာကိုတော့ နမူနာကြည့်လိုက် ကြရအောင် …

ပထမဦးဆုံး reCaptcha ဆိုက်မှာ သွားပြီး API ကို Downlaod ချဖို့လိုပါတယ်။ ကျွန်တော်က PHP ကို သုံးမှာဆိုတော့ PHP နဲ့ ပတ်သက်တဲ့ API ကိုပဲ Downlaod ချပါမယ်။

PHP reCaptcha Library – http://code.google.com/p/recaptcha/downloads/list?q=label:phplib-Latest

အဲဒီဖိုင်ရပြီ ဆိုရင်တော့ reCaptcha ကို ခေါ်သုံးမယ့် PHP Program တစ်ခုရေးဖို့ လိုပါမယ်။ အောက်မှာ ပေးထားတဲ့ Code ကို Notepad မှာ ကူးပြီး index.php ဆိုပြီး သိမ်းလိုက်ပါ။ အဲဒီ Folder ထဲမှာ ခုနက ဒေါင်းထားတဲ့ PHP reCaptcha Library ကိုလည်း ထည့်ထားဖို့ လိုပါမယ်။


<?php

// call the lib..
require_once('recaptchalib.php');

// Get a key from http://recaptcha.net/api/getkey
$publickey = "XXXXXXXXXXXXXXXXXXXXX";
$privatekey = "XXXXXXXXXXXXXXXXXXXXX";

# was there a reCAPTCHA response?
if ($_POST["submit"]) {
    $response = recaptcha_check_answer($privatekey,
	    $_SERVER["REMOTE_ADDR"],
	    $_POST["recaptcha_challenge_field"],
	    $_POST["recaptcha_response_field"]);

        if ($response->is_valid) {
                echo "Yes, that was correct!";
        } else {
                # set the error code so that we can display it
		echo "Eh, That wasn't right. Try Again.";

        }
}
?>
<form action="index.php" method="post">
<?php echo recaptcha_get_html($publickey, $error); ?>
<input type="submit" value="submit" name="submit"/>
</form>

$publickey = “XXXXXXXXXXXXXXXXXXXXX”;
$privatekey = “XXXXXXXXXXXXXXXXXXXXX”;

အပေါ်မှာ ပေးထားတဲ့ publickey နဲ့ privatekey ကတော့ reCaptcha ကို register လုပ်ရင် ရပါလိမ့်မယ်။ အဲဒါတွေ ထည့်ပေးရပါ့မယ်။ PHP ဖြစ်နေတဲ့အတွက် ရိုးရိုးတော့ RUN ကြည့်လို့မရပါဘူး။ အဲဒီအပြင် Domain တစ်ခုအနေနဲ့ Register မလုပ်ပဲ reCaptcha ယူလို့မရတဲ့အတွက် တကယ့် Domain တွေနဲ့မှ စမ်းလို့ရပါမယ်။

Facebook comments:

Leave a comment


*