कैप्चा से तो आप सभी परिचित होंगे. चित्रों में लिखे टेढ़े मेढ़े शब्द जिन्हे अक्सर वेब फ़ार्मों को भरते समय आखिरी में भरना पड़ता है.
असल में होता ये है कि इन चित्रों में लिखे टेढ़े मेढ़े शब्दों को केवल मनुष्य ही पढ़ पाता है जिससे केवल वही उन्हे भर सकता है मशीन नही. अन्यथा छोटे छोटे प्रोग्राम भी ढेरों फ़ार्म स्वचालित रूप से जमा कर सकते हैं. कैप्चा इस प्रकार के स्वचालित प्रोग्रामों से सुरक्षा प्रदान करता है.
securimage एक पीएचपी क्लास फ़ाइल है जिससे फ़ार्मों में कैप्चा लगाना बहुत आसान हो जाता है. आइए देखते हैं कैसे?
सर्वप्रथम securimage क्लास फ़ाइल को आप http://www.phpcaptcha.org/ से डाउनलोड कर लें. इसकी जिप फ़ाइल में आपको निम्नलिखित फ़ाइलें दिखाई देंगी.
वैसे तो इसमें वो सब कुछ है जिसकी आपको जरूरत है परंतु चूंकि हम यहां सीखने सिखाने का काम कर रहे हैं अत: हम इस जिप फ़ाइल से gdfonts तथा securimage.php क्लास फ़ाइल को ही निकालेंगे. इन्हे हम अब अपनी साइट के रूट फ़ोल्डर में कापी करते हैं.
तो अब सब तैयार है. तो शुरू करते हैं.
इसी फ़ोल्डर में एक फ़ाइल बनाएं index.php के नाम से.
इस फ़ाइल में निम्नलिखित कोड लिखें:
<?php session_start(); //हम पीएचपी सेशन शुरू कर रहे हैं.
require_once 'securimage.php'; //हम कैप्चा की मुख्य क्लास फ़ाइल को शामिल कर रहे हैं.
$securimage = new Securimage(); //अब बारी है क्लास से आब्जेक्ट बनाने की
if($_SERVER['REQUEST_METHOD']=='POST'){ //हम यह जांच रहे हैं कि फ़ार्म द्वारा POST अनुरोध हुआ या नही?
if ($securimage->check($_POST['captcha_code']) == false) { //अब securimage आब्जेक्ट के द्वारा हम फ़ार्म से भेजे गये कोड को जांच रहे हैं
//त्रुटि संदेश दिखाएं
echo "कैप्चा कोड का मिलान नही हो सका"; //यदि मिलान ना हो तो त्रुटि संदेश दिखाएं
}else{
//फ़ार्म जमा करें
echo "धन्यवाद फ़ार्म जमा किया जा सकता है"; //अन्यथा फ़ार्म जमा करें
}
}
?>
<form name="form_captcha_test" method="post" action="index.php">
<input type="text" name="captcha_code" value="" /><br />
<img src="showimg.php" alt="captcha image" /> <!-- showimg.php ही कैप्चा चित्रों को पैदा करेगी-->
<input type="submit" name="btn_submit" value="जमा करें" />
</form>
अब एक और फ़ाइल बनाएं जिसका नाम हो showimg.php. इस फ़ाइल में निम्नलिखित कोड लिखें:
<?php
include 'securimage.php'; //मुख्य क्लास फ़ाइल को शामिल कर रहे हैं.
$img = new securimage(); //क्लास से आब्जेक्ट बना रहे हैं
$img->use_gd_font = true; //इसे सक्षम कर देने से gdf फ़ान्टों का समर्थन शुरू हो जाता है
$img->gd_font_file = "gdfonts/bubblebath.gdf"; //अब यहां यह बताना है कि कौन सा gdf फ़ान्ट प्रयोग में लाना है
$img->show(); //और आखिर में हम कैप्चा चित्र को दिखाएंगे.
?>
ब्राउजर में अब index.php फ़ाइल को देखें आपको एक कैप्चा दिखाई देगा.
कुछ गलत सलत लिखकर फ़ार्म जमा करें. आपको त्रुटि संदेश मिलेगा
और सही लिखकर जमा करें
तो बोलिए है ना आसान? और समय भी बहुत कम लगा. वैसे ये तो बहुत ही छोटा सा लेख था. और अधिक जानकारी के लिए आप इधर का रुख कर सकते हैं:
http://www.phpcaptcha.org/Securimage_Docs/Securimage/classes/Securimage.html
एक और महत्वपूर्ण बात. जब मैं यह लेख लिख रहा था तब ये पता चला कि यदि आपकी showimg.php फ़ाइल यूनिकोड में हो तो कैप्चा नही दिखता है. अत: यदि आपको को भी कैप्चा नही दिख रहा है तो इसे ANSI में कर लें.
यह स्क्रीनशाट Notepad++ का है.