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-MLpip install -r requirements.txtcd apppython app.pyRahul Kumar Ayushmaan