Free tutorials & notes in Hindi & English · Clean code examples 🧰 मुफ़्त PDF और फ़ोटो टूल्स →
📘 Lesson  ·  Lesson 50

CAPTCHA Validation

Forms को CAPTCHA क्यों चाहिए

Automated bots आपके forms को नकली signups, spam comments और बेकार messages से भर सकते हैं। CAPTCHA एक छोटी चुनौती है जो इंसान आसानी से पास कर ले पर bot नहीं — जैसे एक सरल sum हल करना। एक जोड़ना आपके forms को बिना ज़्यादा मेहनत साफ़ रखता है।

💡 विचार: एक चुनौती दिखाइए, सही जवाब server पर रखिए, और user के जवाब की उससे तुलना कीजिए।

एक सरल math CAPTCHA

<?php
  session_start();
  $a = random_int(1, 9);
  $b = random_int(1, 9);
  $_SESSION["captcha"] = $a + $b;   // जवाब store
  echo "What is $a + $b?";          // सवाल दिखाओ
?>
What is 3 + 4?

हम दो random numbers चुनते हैं, उनका sum session में store करते हैं, और सवाल दिखाते हैं। User सिर्फ़ सवाल देखता है, जवाब कभी नहीं।

जवाब सुरक्षित store करना

ध्यान दीजिए जवाब $_SESSION में गया — server-side। यह ज़रूरी है: अगर आप जवाब hidden field या cookie में डालें, तो bot उसे पढ़ सकता है। इसे session में रखना मतलब सिर्फ़ आपकी PHP को सही value पता है।

जवाब verify करना

<?php
  session_start();
  $answer = $_POST["captcha"] ?? "";

  if ($answer == ($_SESSION["captcha"] ?? null)) {
      echo "CAPTCHA passed - likely human";
      // form processing जारी रखें
  } else {
      echo "Wrong answer - try again";
  }
?>
CAPTCHA passed - likely human

भेजे गए जवाब की store वाले से तुलना कीजिए। मेल पर, उसे इंसान मानकर form process कीजिए; वरना, ठुकराकर दोबारा पूछिए।

reCAPTCHA कब इस्तेमाल करें

सरल math CAPTCHA सीखने और कम-traffic forms के लिए बढ़िया है। पर दृढ़ bots कभी-कभी इसे हरा सकते हैं। ज़रूरी public forms के लिए — व्यस्त sites पर signups, contact pages — Google reCAPTCHA इस्तेमाल कीजिए, जो bots के लिए बहुत मुश्किल और अक्सर असली users को अदृश्य है।

आम गलतियाँ

  • जवाब client-side store करना। hidden field या cookie को bots पढ़ सकते हैं — session इस्तेमाल कीजिए।
  • Numbers के लिए rand()। कम predictable चुनौतियों को random_int बेहतर।
  • सिर्फ़ CAPTCHA पर भरोसा। फिर भी input validate कीजिए और prepared statements इस्तेमाल कीजिए।
  • इसे बहुत मुश्किल बनाना। असली users को परेशान करता CAPTCHA फ़ायदे से ज़्यादा नुकसान करता है।

सारांश

  • CAPTCHA इंसानों के लिए आसान चुनौती से bots रोकता है।
  • एक सरल सवाल generate कीजिए और जवाब session में store कीजिए।
  • सिर्फ़ सवाल दिखाइए; जवाब server-side रखिए।
  • Verify को user के जवाब की store वाले से तुलना कीजिए।
  • ज़रूरी, high-traffic public forms के लिए Google reCAPTCHA इस्तेमाल कीजिए।

आगे, बाक़ी form validate कीजिए form validation से, या इसे सुरक्षित कीजिए XSS prevention से।

अक्सर पूछे जाने वाले प्रश्न (FAQ)

CAPTCHA क्या है और क्यों इस्तेमाल करें?
CAPTCHA एक छोटी चुनौती है — जैसे math sum या टेढ़ा text — जो इंसानों के लिए आसान पर bots के लिए मुश्किल है। यह automated scripts को आपके forms को नकली signups, comments या messages से spam करने से रोकता है।
सरल PHP CAPTCHA कैसे काम करता है?
आप एक चुनौती generate करते हैं (जैसे 3 + 4), सही जवाब session में store करते हैं, और सवाल दिखाते हैं। form submit होने पर, आप user के जवाब की store वाले से तुलना करते हैं। मेल यानी संभावित इंसान।
CAPTCHA का जवाब कहाँ store करूँ?
Session में, server-side। जवाब कभी hidden field या cookie में न डालिए, क्योंकि bot उसे पढ़ सकता है। सिर्फ़ सवाल दिखता है; जवाब server पर रहता है।
Google reCAPTCHA कब इस्तेमाल करूँ?
गंभीर bot traffic झेलती असली production sites के लिए, Google reCAPTCHA सरल math CAPTCHA से मज़बूत है। सीखने और कम-जोखिम forms के लिए homemade CAPTCHA ठीक है, पर ज़रूरी public forms के लिए reCAPTCHA मज़बूत विकल्प है।
क्या CAPTCHA input validation की जगह लेता है?
नहीं। CAPTCHA bots कम करता है, पर आप फिर भी सारा input validate और sanitize कीजिए, और prepared statements इस्तेमाल कीजिए। CAPTCHA को कई परतों में से एक समझिए, पूरा security हल नहीं।
← Back to PHP Tutorial
🔗

Share this topic with a friend

यह topic किसी दोस्त को भेजें

Found it useful? Send it to a classmate learning the same thing.

अच्छा लगा? जो दोस्त यही सीख रहा है, उसे भेज दीजिए।

💻 लाइव कोड एडिटर

इस पेज के प्रोग्राम यहीं तैयार हैं — चलाएँ, बदलें और सीखें। कुछ भी इंस्टॉल किए बिना।
OneCompiler द्वारा संचालित। कोड एडिटर में अपने आप आ जाता है — Run दबाकर आउटपुट देखें। अगर एडिटर न खुले तो नए टैब में खोलें.
Course पूरा! आगे सीखेंE-commerce App (Android + PHP) आपकी प्रगति: 50 / 50 (100%) · अगला course आगे बढ़ें →

यह lesson कैसा लगा?

आपकी राय से हम content और बेहतर बनाते हैं।

अपना review और सुझाव लिखें (वैकल्पिक)

Review approve होने के बाद आपका नाम और शहर इसके साथ public दिख सकते हैं। Email या phone न लिखें।

▶ CodingEasily on YouTube

Video से सीखें – आसान Hindi में

चुनी हुई video: RDBMS भाग 3 – Class XI Commerce IT

▶ Channel subscribe करें