A web-based phishing detection application that helps users identify whether a URL is malicious (phishing) or safe. This project uses machine learning / heuristic analysis combined with a responsive frontend to classify user-input URLs and display results in real time.
🔗 Live Demo: (Website Link)
- 🚀 Overview
- 🧠 Features
- 📁 Project Structure
- ⚙️ Tech Stack
- 🔧 Installation
This phishing detection system allows users to input any URL and determines whether it is potentially a phishing site. The detection logic uses key characteristics of URLs — such as URL length, suspicious tokens, redirection, IP usage, and more — and classifies them using a trained machine learning model or rules.
The frontend is built with a modern JS framework (e.g., Vite + React) for a smooth user experience, while the backend handles detection logic and model inference.
✔️ Input any URL to check if it’s phishing
✔️ Real-time response with clear classification
✔️ Simple and responsive UI
✔️ Lightweight backend API for predictions
✔️ Easily extendable to browser extensions or APIs
Below is the typical directory layout of this repo:
phishing-detection/
├── src/ # Frontend source code
│ ├── components/ # UI components (buttons, form, cards)
│ ├── styles/ # CSS or Tailwind files
│ ├── App.tsx
│ ├── main.tsx
├── backend/ # Backend server code (if present)
│ ├── model/ # Saved ML model + preprocessing logic
│ ├── api.py # API endpoints for prediction
├── .gitignore
├── README.md
├── package.json
├── vite.config.ts
├── requirements.txt (Python) # Backend Python deps
├── Procfile # Deployment file (Heroku/Render)
└── index.html
| Part | Tech |
|---|---|
| Frontend | React / Vite / HTML / CSS |
| Backend API | Flask / FastAPI / Node |
| ML Model | scikit-learn / TensorFlow (Optional) |
| Deployment | Vercel / Render / Heroku |
| Language | TypeScript / JavaScript / Python |
git clone https://github.com/prashant2007-wq/phishing-detection.git