From b515e883f1cf0d101207b75106ef1cde5581cd80 Mon Sep 17 00:00:00 2001 From: Pradnya Gaitonde <116059908+PradnyaGaitonde@users.noreply.github.com> Date: Fri, 26 Jul 2024 23:14:29 +0530 Subject: [PATCH] Custom Captcha Generator The Custom Captcha Generator is a security tool designed to create unique and unpredictable tests to differentiate between human users and automated bots. This project is developed using HTML, CSS, and JavaScript, ensuring a seamless integration into web applications with a focus on user-friendly design and robust functionality. --- .../Captcha Generator/READme.md | 43 ++++++++ .../Captcha Generator/image.png | Bin 0 -> 18350 bytes .../Captcha Generator/index.html | 33 ++++++ .../Captcha Generator/script.js | 57 +++++++++++ .../Captcha Generator/style.css | 95 ++++++++++++++++++ 5 files changed, 228 insertions(+) create mode 100644 New_APIs/Captcha Generator/Captcha Generator/READme.md create mode 100644 New_APIs/Captcha Generator/Captcha Generator/image.png create mode 100644 New_APIs/Captcha Generator/Captcha Generator/index.html create mode 100644 New_APIs/Captcha Generator/Captcha Generator/script.js create mode 100644 New_APIs/Captcha Generator/Captcha Generator/style.css diff --git a/New_APIs/Captcha Generator/Captcha Generator/READme.md b/New_APIs/Captcha Generator/Captcha Generator/READme.md new file mode 100644 index 0000000..d71743a --- /dev/null +++ b/New_APIs/Captcha Generator/Captcha Generator/READme.md @@ -0,0 +1,43 @@ +# Captcha Generator + +## Overview +The Captcha Generator is a security tool designed to create unique and unpredictable tests to differentiate between human users and automated bots. This project is developed using HTML, CSS, and JavaScript, ensuring a seamless integration into web applications with a focus on user-friendly design and robust functionality. + +## Features +* HTML Structure: Clear and semantic structure for Captcha elements. +* CSS Styling: Visually appealing and accessible design, with responsive layouts. +* JavaScript Functionality: Handles random challenge generation, user response validation, and feedback. + +## Installation +* Clone the repository: + +```bash +git clone https://github.com/yourusername/captcha-generator.git +``` + +* Navigate to the project directory: + +```bash +cd captcha-generator +``` + +* Open index.html in your preferred web browser. + +## Usage +* Generate Captcha: When the page loads, a new Captcha challenge is automatically generated. +* Solve Captcha: Enter your response in the input field provided. +* Submit: Click the submit button to validate your response. +* Feedback: You will receive immediate feedback indicating whether your response was correct or incorrect. + +## Project Structure + +```bash +captcha-generator/ +│ +├── index.html # Main HTML file +├── style.css # CSS file for styling +├── script.js # JavaScript file for functionality +``` +## Screenshots + +![alt text](image.png) \ No newline at end of file diff --git a/New_APIs/Captcha Generator/Captcha Generator/image.png b/New_APIs/Captcha Generator/Captcha Generator/image.png new file mode 100644 index 0000000000000000000000000000000000000000..48daee2134b650f827bf8cec1780cedde07634e8 GIT binary patch literal 18350 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 literal 0 HcmV?d00001 diff --git a/New_APIs/Captcha Generator/Captcha Generator/index.html b/New_APIs/Captcha Generator/Captcha Generator/index.html new file mode 100644 index 0000000..a65b3e2 --- /dev/null +++ b/New_APIs/Captcha Generator/Captcha Generator/index.html @@ -0,0 +1,33 @@ + + + + + + + + Captcha Generator + + + + + +
+
Captcha Generator
+
+ + +
+
+ +
+
Entered captcha is correct
+
+ +
+
+ + + + diff --git a/New_APIs/Captcha Generator/Captcha Generator/script.js b/New_APIs/Captcha Generator/Captcha Generator/script.js new file mode 100644 index 0000000..6c84c6c --- /dev/null +++ b/New_APIs/Captcha Generator/Captcha Generator/script.js @@ -0,0 +1,57 @@ +// Selecting necessary DOM elements +const captchaTextBox = document.querySelector(".captch_box input"); +const refreshButton = document.querySelector(".refresh_button"); +const captchaInputBox = document.querySelector(".captch_input input"); +const message = document.querySelector(".message"); +const submitButton = document.querySelector(".button"); + +// Variable to store generated captcha +let captchaText = null; + +// Function to generate captcha +const generateCaptcha = () => { + const randomString = Math.random().toString(36).substring(2, 7); + const randomStringArray = randomString.split(""); + const changeString = randomStringArray.map((char) => (Math.random() > 0.5 ? char.toUpperCase() : char)); + captchaText = changeString.join(" "); + captchaTextBox.value = captchaText; + console.log(captchaText); +}; + +const refreshBtnClick = () => { + generateCaptcha(); + captchaInputBox.value = ""; + captchaKeyUpValidate(); +}; + +const captchaKeyUpValidate = () => { + //Toggle submit button disable class based on captcha input field. + submitButton.classList.toggle("disabled", !captchaInputBox.value); + + if (!captchaInputBox.value) message.classList.remove("active"); +}; + +// Function to validate the entered captcha +const submitBtnClick = () => { + captchaText = captchaText + .split("") + .filter((char) => char !== " ") + .join(""); + message.classList.add("active"); + // Check if the entered captcha text is correct or not + if (captchaInputBox.value === captchaText) { + message.innerText = "Entered captcha is correct"; + message.style.color = "#826afb"; + } else { + message.innerText = "Entered captcha is not correct"; + message.style.color = "#FF2525"; + } +}; + +// Add event listeners for the refresh button, captchaInputBox, submit button +refreshButton.addEventListener("click", refreshBtnClick); +captchaInputBox.addEventListener("keyup", captchaKeyUpValidate); +submitButton.addEventListener("click", submitBtnClick); + +// Generate a captcha when the page loads +generateCaptcha(); diff --git a/New_APIs/Captcha Generator/Captcha Generator/style.css b/New_APIs/Captcha Generator/Captcha Generator/style.css new file mode 100644 index 0000000..4f29d19 --- /dev/null +++ b/New_APIs/Captcha Generator/Captcha Generator/style.css @@ -0,0 +1,95 @@ +/* Import Google font - Poppins */ +@import url("https://fonts.googleapis.com/css2?family=Poppins:wght@200;300;400;500;600;700&display=swap"); +* { + margin: 0; + padding: 0; + box-sizing: border-box; + font-family: "Poppins", sans-serif; +} +body { + height: 100vh; + display: flex; + align-items: center; + justify-content: center; + background: #826afb; +} +.container { + position: relative; + max-width: 300px; + width: 100%; + border-radius: 12px; + padding: 15px 25px 25px; + background: #fff; + box-shadow: 0 5px 10px rgba(0, 0, 0, 0.1); +} +header { + color: #333; + margin-bottom: 20px; + font-size: 18px; + font-weight: 600; + text-align: center; +} +.input_field { + position: relative; + height: 45px; + margin-top: 15px; + width: 100%; +} +.refresh_button { + position: absolute; + top: 50%; + right: 10px; + transform: translateY(-50%); + background: #826afb; + height: 30px; + width: 30px; + border: none; + border-radius: 4px; + color: #fff; + cursor: pointer; +} +.refresh_button:active { + transform: translateY(-50%) scale(0.98); +} +.input_field input, +.button button { + height: 100%; + width: 100%; + outline: none; + border: none; + border-radius: 8px; +} +.input_field input { + padding: 0 15px; + border: 1px solid rgba(0, 0, 0, 0.1); +} +.captch_box input { + color: #6b6b6b; + font-size: 22px; + pointer-events: none; +} +.captch_input input:focus { + box-shadow: 0 1px 1px rgba(0, 0, 0, 0.08); +} +.message { + font-size: 14px; + margin: 14px 0; + color: #826afb; + display: none; +} +.message.active { + display: block; +} +.button button { + background: #826afb; + color: #fff; + cursor: pointer; + user-select: none; +} +.button button:active { + transform: scale(0.99); +} +.button.disabled { + opacity: 0.6; + pointer-events: none; +}