এইচটিএমএল, সিএসএস এবং জাভাস্ক্রিপ্ট ব্যবহার করে একটি ক্যাপচা ভ্যালিডেশন ফর্ম তৈরি করুন

এইচটিএমএল, সিএসএস এবং জাভাস্ক্রিপ্ট ব্যবহার করে একটি ক্যাপচা ভ্যালিডেশন ফর্ম তৈরি করুন

আজকাল ক্যাপচা ওয়েবসাইট নিরাপত্তার একটি অবিচ্ছেদ্য অংশ। প্রতিদিন লক্ষ লক্ষ ক্যাপচা পরীক্ষা অনলাইনে সম্পন্ন হয়।





যদি আপনি আপনার ওয়েবসাইটে ক্যাপচা বৈধতা প্রয়োগ না করেন, তাহলে এটি আপনার জন্য একটি বড় সমস্যা তৈরি করতে পারে, আপনাকে স্প্যামারদের লক্ষ্য হিসাবে সেট আপ করতে পারে।





ক্যাপচা সম্বন্ধে আপনার যা জানা দরকার এবং HTML, CSS এবং জাভাস্ক্রিপ্ট ব্যবহার করে আপনি কিভাবে সহজেই সেগুলি আপনার ওয়েবসাইটে প্রয়োগ করতে পারেন তা এখানে।





ক্যাপচা কি?

ক্যাপচা মানে 'সম্পূর্ণরূপে স্বয়ংক্রিয় পাবলিক টুরিং পরীক্ষা কম্পিউটার এবং মানুষকে আলাদা করে বলা।' এই শব্দটি 2003 সালে লুইস ভন আহন, ম্যানুয়েল ব্লাম, নিকোলাস জে হপার এবং জন ল্যাংফোর্ড দ্বারা তৈরি করা হয়েছিল। এটি এক ধরনের চ্যালেঞ্জ-রেসপন্স টেস্ট যা ব্যবহারকারী মানুষ কিনা তা নির্ধারণ করতে ব্যবহৃত হয়।

ক্যাপচা ওয়েবসাইটগুলোতে নিরাপত্তা যোগ করে চ্যালেঞ্জ প্রদান করে যা বটের পক্ষে করা কঠিন কিন্তু মানুষের জন্য অপেক্ষাকৃত সহজ। উদাহরণস্বরূপ, একাধিক ছবির একটি সেট থেকে একটি গাড়ির সমস্ত ছবি শনাক্ত করা বটের জন্য কঠিন কিন্তু মানুষের চোখের জন্য যথেষ্ট সহজ।



ক্যাপচা ধারণাটির উৎপত্তি টুরিং টেস্ট থেকে। একটি টুরিং টেস্ট হল একটি পরীক্ষা করার পদ্ধতি যা মেশিন মানুষের মত চিন্তা করতে পারে কি না। মজার ব্যাপার হল, একটি ক্যাপচা টেস্টকে 'রিভার্স টুরিং টেস্ট' বলা যেতে পারে যেহেতু এই ক্ষেত্রে কম্পিউটার এমন পরীক্ষা তৈরি করে যা মানুষকে চ্যালেঞ্জ করে।

কেন আপনার ওয়েবসাইট ক্যাপচা যাচাইকরণ প্রয়োজন?

ক্যাপচা প্রধানত স্পট এবং অন্যান্য ক্ষতিকারক বিষয়বস্তু দিয়ে স্বয়ংক্রিয়ভাবে ফর্ম জমা দেওয়া থেকে বট প্রতিরোধ করতে ব্যবহৃত হয়। এমনকি গুগলের মতো কোম্পানিগুলি তাদের সিস্টেমকে স্প্যাম আক্রমণ থেকে রোধ করতে ব্যবহার করে। ক্যাপচা বৈধতা থেকে আপনার ওয়েবসাইট কেন উপকৃত হয় তার কয়েকটি কারণ এখানে দেওয়া হল:





  • ক্যাপচা ভুয়া অ্যাকাউন্ট তৈরি করে নিবন্ধন ব্যবস্থাকে স্প্যাম করা থেকে হ্যাকার এবং বটকে প্রতিরোধ করতে সাহায্য করে। যদি তাদের প্রতিরোধ করা না হয়, তাহলে তারা সেই অ্যাকাউন্টগুলিকে খারাপ উদ্দেশ্যে ব্যবহার করতে পারে।
  • ক্যাপচা আপনার ওয়েবসাইট থেকে নিষ্ঠুরভাবে লগ-ইন আক্রমণ নিষিদ্ধ করতে পারে যা হ্যাকাররা হাজার হাজার পাসওয়ার্ড ব্যবহার করে লগ ইন করার চেষ্টা করে।
  • ক্যাপচা মিথ্যা মন্তব্য প্রদান করে পর্যালোচনা বিভাগে স্পট করা থেকে বটকে সীমাবদ্ধ করতে পারে।
  • ক্যাপচা টিকিটের মূল্যস্ফীতি রোধে সহায়তা করে কারণ কিছু লোক পুনরায় বিক্রির জন্য বিপুল সংখ্যক টিকিট ক্রয় করে। ক্যাপচা এমনকি বিনামূল্যে ইভেন্টগুলিতে মিথ্যা নিবন্ধন প্রতিরোধ করতে পারে।
  • ক্যাপচাগুলি ক্ষতিকর মন্তব্য এবং ক্ষতিকারক ওয়েবসাইটের লিঙ্ক সহ ব্লগারদের স্প্যামিং থেকে সীমাবদ্ধ করতে পারে।

আরও অনেক কারণ রয়েছে যা আপনার ওয়েবসাইটে ক্যাপচা বৈধতা সংহত করার সমর্থন করে। আপনি নিম্নলিখিত কোড দিয়ে এটি করতে পারেন।

উইন্ডোজ 10 ওয়াইফাই সংযোগ বন্ধ করে রাখে

এইচটিএমএল ক্যাপচা কোড

এইচটিএমএল, বা হাইপারটেক্সট মার্কআপ ল্যাঙ্গুয়েজ, একটি ওয়েব পেজের গঠন বর্ণনা করে। আপনার ক্যাপচা বৈধতা ফর্ম গঠন করতে নিম্নলিখিত HTML কোড ব্যবহার করুন:














captcha text



Refresh






এই কোডটি প্রধানত 7 টি উপাদান নিয়ে গঠিত:

  • : এই উপাদানটি ক্যাপচা ফর্মের শিরোনাম প্রদর্শন করতে ব্যবহৃত হয়।

  • : এই উপাদানটি ক্যাপচা পাঠ্য প্রদর্শন করতে ব্যবহৃত হয়।
  • - এই উপাদানটি ক্যাপচা টাইপ করার জন্য একটি ইনপুট বক্স তৈরি করতে ব্যবহৃত হয়।
  • : এই বোতামটি ফর্মটি জমা দেয় এবং ক্যাপচা এবং টাইপ করা পাঠ্য একই কিনা তা পরীক্ষা করে দেখুন।
  • : এই বোতামটি ক্যাপচা রিফ্রেশ করতে ব্যবহৃত হয়।
  • : এই উপাদানটি প্রবেশ করা পাঠ্য অনুযায়ী আউটপুট প্রদর্শন করতে ব্যবহৃত হয়।
  • : এটি মূল উপাদান যা অন্যান্য সমস্ত উপাদান ধারণ করে।

CSS এবং জাভাস্ক্রিপ্ট ফাইলগুলি এই HTML পৃষ্ঠার মাধ্যমে সংযুক্ত করা হয়েছে এবং উপাদান যথাক্রমে। আপনাকে অবশ্যই যোগ করতে হবে লিঙ্ক এর ভিতরে ট্যাগ মাথা ট্যাগ এবং লিপি এর শেষে ট্যাগ শরীর

আপনি এই কোডটি আপনার ওয়েবসাইটের বিদ্যমান ফর্মগুলির সাথে সংহত করতে পারেন।

সম্পর্কিত: এইচটিএমএল এসেনশিয়ালস চিট শীট: ট্যাগ, অ্যাট্রিবিউট এবং আরও অনেক কিছু



সিএসএস ক্যাপচা কোড

CSS, বা ক্যাসকেডিং স্টাইল শীট, HTML উপাদানগুলিকে স্টাইল করতে ব্যবহৃত হয়। উপরের HTML উপাদানগুলিকে স্টাইল করতে নিম্নলিখিত CSS কোড ব্যবহার করুন:

@import url('https://fonts.googleapis.com/css2?family=Roboto&display=swap');
body {
background-color: #232331;
font-family: 'Roboto', sans-serif;
}
#captchaBackground {
height: 220px;
width: 250px;
background-color: #2d3748;
display: flex;
align-items: center;
justify-content: center;
flex-direction: column;
}
#captchaHeading {
color: white;
}
#captcha {
height: 80%;
width: 80%;
font-size: 30px;
letter-spacing: 3px;
margin: auto;
display: block;
top: 0;
bottom: 0;
left: 0;
right: 0;
}
.center {
display: flex;
flex-direction: column;
align-items: center;
}
#submitButton {
margin-top: 2em;
margin-bottom: 2em;
background-color: #08e5ff;
border: 0px;
font-weight: bold;
}
#refreshButton {
background-color: #08e5ff;
border: 0px;
font-weight: bold;
}
#textBox {
height: 25px;
}
.incorrectCaptcha {
color: #FF0000;
}
.correctCaptcha {
color: #7FFF00;
}

আপনার পছন্দ অনুযায়ী এই কোড থেকে CSS প্রপার্টি যোগ বা অপসারণ করুন। আপনি ফর্ম পাত্রে একটি মার্জিত চেহারা দিতে পারেন CSS বক্স-ছায়া সম্পত্তি

জাভাস্ক্রিপ্ট ক্যাপচা কোড

জাভাস্ক্রিপ্ট অন্যথায় স্ট্যাটিক ওয়েবপেজে কার্যকারিতা যোগ করতে ব্যবহৃত হয়। ক্যাপচা যাচাইকরণ ফর্মটিতে সম্পূর্ণ কার্যকারিতা যুক্ত করতে নিম্নলিখিত কোডটি ব্যবহার করুন:

// document.querySelector() is used to select an element from the document using its ID
let captchaText = document.querySelector('#captcha');
var ctx = captchaText.getContext('2d');
ctx.font = '30px Roboto';
ctx.fillStyle = '#08e5ff';

let userText = document.querySelector('#textBox');
let submitButton = document.querySelector('#submitButton');
let output = document.querySelector('#output');
let refreshButton = document.querySelector('#refreshButton');

// alphaNums contains the characters with which you want to create the CAPTCHA
let alphaNums = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9'];
let emptyArr = [];
// This loop generates a random string of 7 characters using alphaNums
// Further this string is displayed as a CAPTCHA
for (let i = 1; i <= 7; i++) {
emptyArr.push(alphaNums[Math.floor(Math.random() * alphaNums.length)]);
}
var c = emptyArr.join('');
ctx.fillText(emptyArr.join(''),captchaText.width/4, captchaText.height/2);

// This event listener is stimulated whenever the user press the 'Enter' button
// 'Correct!' or 'Incorrect, please try again' message is
// displayed after validating the input text with CAPTCHA
userText.addEventListener('keyup', function(e) {
// Key Code Value of 'Enter' Button is 13
if (e.keyCode === 13) {
if (userText.value === c) {
output.classList.add('correctCaptcha');
output.innerHTML = 'Correct!';
} else {
output.classList.add('incorrectCaptcha');
output.innerHTML = 'Incorrect, please try again';
}
}
});
// This event listener is stimulated whenever the user clicks the 'Submit' button
// 'Correct!' or 'Incorrect, please try again' message is
// displayed after validating the input text with CAPTCHA
submitButton.addEventListener('click', function() {
if (userText.value === c) {
output.classList.add('correctCaptcha');
output.innerHTML = 'Correct!';
} else {
output.classList.add('incorrectCaptcha');
output.innerHTML = 'Incorrect, please try again';
}
});
// This event listener is stimulated whenever the user press the 'Refresh' button
// A new random CAPTCHA is generated and displayed after the user clicks the 'Refresh' button
refreshButton.addEventListener('click', function() {
userText.value = '';
let refreshArr = [];
for (let j = 1; j <= 7; j++) {
refreshArr.push(alphaNums[Math.floor(Math.random() * alphaNums.length)]);
}
ctx.clearRect(0, 0, captchaText.width, captchaText.height);
c = refreshArr.join('');
ctx.fillText(refreshArr.join(''),captchaText.width/4, captchaText.height/2);
output.innerHTML = '';
});

এখন আপনার একটি সম্পূর্ণ কার্যকরী ক্যাপচা যাচাইকরণ ফর্ম আছে! আপনি যদি সম্পূর্ণ কোডটি দেখতে চান তবে আপনি ক্লোন করতে পারেন এই ক্যাপচা-ভ্যালিডেটর প্রকল্পের গিটহাব সংগ্রহস্থল । সংগ্রহস্থলের ক্লোনিং করার পরে, HTML ফাইলটি চালান এবং আপনি নিম্নলিখিত আউটপুট পাবেন:

আপনি কতক্ষণ ফেসবুক নিষ্ক্রিয় করতে পারেন?

যখন আপনি ইনপুট বক্সে সঠিক ক্যাপচা কোড লিখবেন, তখন নিম্নলিখিত আউটপুট প্রদর্শিত হবে:

যখন আপনি ইনপুট বক্সে কোন ভুল ক্যাপচা কোড লিখবেন, তখন নিম্নলিখিত আউটপুট প্রদর্শিত হবে:

ক্যাপচা দিয়ে আপনার ওয়েবসাইট নিরাপদ করুন

অতীতে, অনেক প্রতিষ্ঠান এবং ব্যবসা প্রতিষ্ঠান তাদের ওয়েবসাইটে ক্যাপচা ফর্ম না থাকার ফলে ডেটা লঙ্ঘন, স্প্যাম আক্রমণ ইত্যাদি ব্যাপক ক্ষতির সম্মুখীন হয়েছে। আপনার ওয়েবসাইটে ক্যাপচা যুক্ত করার জন্য এটি অত্যন্ত সুপারিশ করা হয়, কারণ এটি সাইবার অপরাধীদের থেকে ওয়েবসাইটকে প্রতিরোধ করার জন্য একটি নিরাপত্তা স্তর যুক্ত করে।

গুগল 'reCAPTCHA' নামে একটি বিনামূল্যে পরিষেবা চালু করেছে যা ওয়েবসাইটগুলিকে স্প্যাম এবং অপব্যবহার থেকে রক্ষা করতে সাহায্য করে। ক্যাপচা এবং রিক্যাপচা একই রকম মনে হয়, কিন্তু এগুলি একই জিনিস নয়। কখনও কখনও ক্যাপচা অনেক ব্যবহারকারীর জন্য হতাশাজনক এবং বুঝতে অসুবিধা বোধ করে। যদিও, তাদের কেন কঠিন করা হয়েছে তার একটি গুরুত্বপূর্ণ কারণ রয়েছে।

শেয়ার করুন শেয়ার করুন টুইট ইমেইল ক্যাপচা কিভাবে কাজ করে এবং কেন তারা এত কঠিন?

ক্যাপচা এবং পুনরায় ক্যাপচা স্প্যাম প্রতিরোধ করে। তারা কিভাবে কাজ করে? এবং কেন আপনি ক্যাপচা সমাধান করতে এত কঠিন মনে করেন?

পরবর্তী পড়ুন
সম্পর্কিত বিষয়
  • প্রোগ্রামিং
  • এইচটিএমএল
  • জাভাস্ক্রিপ্ট
  • সিএসএস
লেখক সম্পর্কে যুবরাজ চন্দ্র(60 নিবন্ধ প্রকাশিত)

যুবরাজ ভারতের দিল্লি বিশ্ববিদ্যালয়ের কম্পিউটার সায়েন্সের স্নাতক ছাত্র। তিনি ফুল স্ট্যাক ওয়েব ডেভেলপমেন্ট সম্পর্কে উত্সাহী। যখন তিনি লিখছেন না, তিনি বিভিন্ন প্রযুক্তির গভীরতা অন্বেষণ করছেন।

যুবরাজ চন্দ্রের কাছ থেকে আরো

আমাদের নিউজলেটার সদস্যতা

প্রযুক্তি টিপস, রিভিউ, ফ্রি ইবুক এবং এক্সক্লুসিভ ডিলের জন্য আমাদের নিউজলেটারে যোগ দিন!

সাবস্ক্রাইব করতে এখানে ক্লিক করুন