A web-based CAPTCHA system using rotatable arrows to verify human users. Built with Django, HTML, CSS, and JavaScript, it provides an interactive and visually challenging verification step for login forms.
- Interactive Arrow CAPTCHA: Users click arrows to rotate them and match a target sequence of directions.
- Distorted Directions: The target directions are displayed as noisy, distorted text to prevent automated reading.
- Custom Validation: Only correct arrow rotations allow login.
- Seamless UX: CAPTCHA popup overlays the login page and closes automatically on success.
- Redirection: Upon successful verification, users are redirected to a “Signed In” page.
- Refresh Option: Users can generate a new target direction sequence without reloading the page.
- Clone the repository
git clone https://github.com/mhmistry/arrow_captcha.git cd arrow_captcha - Create a virtual environment (optional but recommended)
python -m venv venv venv\Scripts\activate # Windows source venv/bin/activate # macOS/Linux
- Install dependencies
pip install django
- Run the server
python manage.py runserver
- Open your browser and go to:
http://127.0.0.1:8000/
- Enter a username and password.
- Check the "I'm not a robot" box to open the CAPTCHA.
- Click the arrows to rotate them and match the distorted target directions.
- Click Submit to verify.
- Upon success, you are redirected to the signed-in page.
- Backend: Django
- Frontend: HTML, CSS, JavaScript
- Database: SQLite (default Django database)
This project is open-source and free to use for educational purposes.