A machine learning-powered web application that detects whether a given website URL is phishing or legitimate using multiple feature types — including URL structure, domain metadata, and HTML/JavaScript behavior.
⚠️ Over 90% of cyber attacks start with phishing. This tool helps users identify potentially harmful URLs before they click.
- ✅ URL-based features: Length, depth, special characters, HTTPS usage, etc.
- ✅ Domain-based features: WHOIS registration check, domain age, DNS availability
- ✅ HTML/JS-based features: Presence of
<iframe>
,alert()
scripts, and suspicious JS functions - ✅ Binary classification model (Phishing vs Legitimate)
- ✅ Flask-based GUI with modern dark theme
- ✅ Real-time prediction on user input
-
Algorithm:
RandomForestClassifier
-
Training:
- 10,000 phishing URLs
- 10,000 legitimate URLs
-
Evaluation:
- Accuracy: ~
91%
- Precision: ~
92%
- Recall: ~
88%
- Accuracy: ~
-
Algorithm:
Logistic Regression
-
Training:
- 10,000 phishing URLs
- 10,000 legitimate URLs
-
Evaluation:
- Accuracy: ~
82.1%
- Precision: ~
87%
- Recall: ~
82%
- Accuracy: ~
-
Algorithm:
XGBoost
-
Training:
- 10,000 phishing URLs
- 10,000 legitimate URLs
-
Evaluation:
- Accuracy: ~
82.03%
- Precision: ~
87%
- Recall: ~
82%
- Accuracy: ~
-
Algorithm:
MLP Classifier
-
Training:
- 10,000 phishing URLs
- 10,000 legitimate URLs
-
Evaluation:
- Accuracy: ~
96%
- Precision: ~
96%
- Recall: ~
96%
- Accuracy: ~
🌐 Live Demo: Click Here
Python
Flask
Scikit-learn
BeautifulSoup
WHOIS
git clone https://github.com/rahulptl165/Phishing-Website-Detection-Using-ML.git
cd Phishing-Website-Detection-Using-ML
pip install -r requirements.txt
cd app
python app.py
Rahul Kumar Ayushmaan