From 021ec13b74c1d2ad61221d0f632467e735c0dd19 Mon Sep 17 00:00:00 2001
From: Troy <troynovsak@gmail.com>
Date: Tue, 30 Apr 2024 21:39:18 -0400
Subject: [PATCH] Added network scanner module. And page to display recs from
open ai
---
NetworkScanner/NetworkScanner.py | 183 ++++++++++++++++++
backend/auth_app/views.py | 5 +-
backend/db.sqlite3 | Bin 212992 -> 561152 bytes
backend/network_scanner/__init__.py | 0
backend/network_scanner/admin.py | 7 +
backend/network_scanner/apps.py | 6 +
backend/network_scanner/models.py | 33 ++++
backend/network_scanner/serializers.py | 35 ++++
backend/network_scanner/tests.py | 3 +
backend/network_scanner/urls.py | 9 +
backend/network_scanner/utils.py | 38 ++++
backend/network_scanner/views.py | 53 +++++
backend/watchstone_backend/settings.py | 1 +
backend/watchstone_backend/urls.py | 1 +
frontend/src/_nav.js | 6 +
frontend/src/components/AppFooter.js | 11 +-
frontend/src/index.js | 14 ++
frontend/src/routes.js | 4 +
.../NetworkScanner/RecommendationComponent.js | 65 +++++++
frontend/src/views/emails/BreachesEmails.js | 4 +-
frontend/src/views/pages/login/Login.js | 14 +-
frontend/src/views/pages/register/Register.js | 19 +-
.../src/views/passwords/BreachesPasswords.js | 5 +-
frontend/src/views/widgets/WidgetsDropdown.js | 5 +-
24 files changed, 498 insertions(+), 23 deletions(-)
create mode 100644 NetworkScanner/NetworkScanner.py
create mode 100644 backend/network_scanner/__init__.py
create mode 100644 backend/network_scanner/admin.py
create mode 100644 backend/network_scanner/apps.py
create mode 100644 backend/network_scanner/models.py
create mode 100644 backend/network_scanner/serializers.py
create mode 100644 backend/network_scanner/tests.py
create mode 100644 backend/network_scanner/urls.py
create mode 100644 backend/network_scanner/utils.py
create mode 100644 backend/network_scanner/views.py
create mode 100644 frontend/src/views/NetworkScanner/RecommendationComponent.js
diff --git a/NetworkScanner/NetworkScanner.py b/NetworkScanner/NetworkScanner.py
new file mode 100644
index 000000000..ff268d4eb
--- /dev/null
+++ b/NetworkScanner/NetworkScanner.py
@@ -0,0 +1,183 @@
+import requests
+import netifaces
+import ipaddress
+import threading
+import itertools
+import time
+import sys
+import nmap
+
+
+def list_network_interfaces():
+ """
+ List all network interfaces and their associated IP addresses.
+ :return: Dictionary of interfaces with their IP addresses and subnet masks.
+ """
+ interfaces = {}
+ for interface in netifaces.interfaces():
+ addrs = netifaces.ifaddresses(interface)
+ if netifaces.AF_INET in addrs:
+ ipv4_info = addrs[netifaces.AF_INET][0]
+ ip = ipv4_info.get('addr')
+ netmask = ipv4_info.get('netmask')
+ if ip and netmask:
+ network = ipaddress.ip_network(f"{ip}/{netmask}", strict=False)
+ interfaces[interface] = f"{network}"
+ return interfaces
+
+def get_user_selected_interface(interfaces):
+ """
+ Prompt user to select an interface from a list.
+ :param interfaces: Dictionary of interfaces and their IP ranges.
+ :return: CIDR notation of the selected network range.
+ """
+ print("Available network interfaces and their IP ranges:")
+ for idx, (interface, ip_range) in enumerate(interfaces.items(), start=1):
+ print(f"{idx}. Interface: {interface} - IP Range: {ip_range}")
+
+ while True:
+ choice = input("Enter the number of the interface you want to use: ")
+ if choice.isdigit() and 1 <= int(choice) <= len(interfaces):
+ selected_interface = list(interfaces.keys())[int(choice) - 1]
+ return interfaces[selected_interface]
+ else:
+ print("Invalid selection, please try again.")
+
+
+done = False
+
+def spinner():
+ spinner_chars = itertools.cycle(['-', '/', '|', '\\'])
+ while not done:
+ sys.stdout.write(next(spinner_chars) + '\r') # write the next character and return to start of line
+ sys.stdout.flush() # flush stdout buffer
+ time.sleep(0.1)
+ sys.stdout.write('Done scanning!\n')
+
+def perform_scan(target, options="-sV"):
+ global done
+ thread = threading.Thread(target=spinner)
+ thread.start()
+
+ scanner = nmap.PortScanner()
+ try:
+ scanner.scan(hosts=target, arguments=options)
+ print(f"Scan on {target} completed.")
+ except Exception as e:
+ print(f"Scanning failed: {e}")
+ finally:
+ done = True
+ thread.join() # Wait for the spinner to finish
+
+ hosts_list = list(scanner.all_hosts())
+ scan_results = []
+ for host in hosts_list:
+ if scanner[host].state() == "up":
+ host_data = {
+ "ip_address": host,
+ "hostname": scanner[host].hostname() or "None",
+ "mac_address": scanner[host]['addresses'].get('mac') or "None",
+ "services": []
+ }
+ for proto in scanner[host].all_protocols():
+ for port in scanner[host][proto].keys():
+ service = scanner[host][proto][port]
+ service_data = {
+ "port": port,
+ "name": service.get('name') or "None",
+ "state": service.get('state') or "None",
+ "product": service.get('product') or "None",
+ "version": service.get('version') or "None",
+ "extra_info": service.get('extrainfo') or "None"
+ }
+ host_data["services"].append(service_data)
+ scan_results.append(host_data)
+ return scan_results
+
+
+
+def send_data_to_backend(api_url, login_url, data, username, password):
+ """
+ Send scan data to the Django backend API.
+ :param api_url: URL of the Django API endpoint.
+ :param data: Data to be sent as JSON.
+ :param username: Username for authentication.
+ :param password: Password for authentication.
+ """
+ token = authenticate(login_url, username, password)
+ if not token:
+ print("Failed to authenticate.")
+ return
+
+ headers = {'Authorization': f'Bearer {token}', 'Content-Type': 'application/json'}
+ response = requests.post(api_url, json={"devices": data}, headers=headers)
+
+ if response.status_code == 200:
+ print("Data sent successfully.")
+ elif response.status_code == 401:
+ print("Authentication failed or token expired. Re-authenticating...")
+ token = authenticate(username, password)
+ if not token:
+ print("Failed to re-authenticate.")
+ return
+ headers['Authorization'] = f'Bearer {token}'
+ response = requests.post(api_url, json={"devices": data}, headers=headers)
+ if response.status_code == 200:
+ print("Data sent successfully after re-authentication.")
+ else:
+ print(f"Failed to send data after re-authentication: {response.status_code} - {response.text}")
+ else:
+ print(f"Failed to send data: {response.status_code} - {response.text}")
+
+
+
+def authenticate(login_url, username, password):
+ """
+ Authenticate with the Django backend and retrieve a token.
+ :param login_url: URL of the Django API login endpoint.
+ :param username: Username for login.
+ :param password: Password for login.
+ :return: Token or None if authentication fails.
+ """
+ try:
+ response = requests.post(login_url, json={"username": username, "password": password})
+ if response.status_code == 200:
+ return response.json().get("access") # Match the key to your JavaScript handling
+ else:
+ print(f"Authentication failed: {response.status_code} - {response.text}")
+ except requests.exceptions.RequestException as e:
+ print(f"Failed to connect to {login_url}: {e}")
+ return None
+
+def main():
+ base_url = "http://localhost:8000/api/auth/"
+ login_url = f"{base_url}login/"
+ api_url = "http://localhost:8000/api/networkscanner/results/"
+
+ print("Please log in to the system.")
+ username = input("Username: ")
+ password = input("Password: ")
+
+ token = authenticate(login_url, username, password)
+ if token:
+ interfaces = list_network_interfaces()
+ if interfaces:
+ selected_network_range = get_user_selected_interface(interfaces)
+ print(f"Selected network range: {selected_network_range}")
+
+ print("Starting the network scan...")
+ scan_results = perform_scan(selected_network_range, "-sV")
+ if scan_results:
+ print("Scan complete, sending data to backend...")
+ send_data_to_backend(api_url, login_url, scan_results, username, password) # Pass username and password
+ else:
+ print("No devices found during scan.")
+ else:
+ print("No valid network interfaces found. Please check your network connection.")
+ else:
+ print("Exiting due to failed authentication.")
+
+
+if __name__ == "__main__":
+ main()
+
diff --git a/backend/auth_app/views.py b/backend/auth_app/views.py
index 164510a57..018ab74bd 100644
--- a/backend/auth_app/views.py
+++ b/backend/auth_app/views.py
@@ -6,11 +6,14 @@ from rest_framework.response import Response
from rest_framework.views import APIView
from rest_framework.permissions import AllowAny
+
# This view extends TokenObtainPairView to handle token creation on user login.
class MyTokenObtainPairView(TokenObtainPairView):
permission_classes = (permissions.AllowAny,) # Allow any user to access this view
# You can customize this view further if needed, e.g., adding extra data to the token response.
+
+
class RegisterView(APIView):
permission_classes = (AllowAny,)
@@ -26,4 +29,4 @@ class RegisterView(APIView):
return Response({'error': 'Username is already taken.'}, status=status.HTTP_400_BAD_REQUEST)
user = User.objects.create_user(username, email, password)
- return Response({'msg': 'User created successfully.'}, status=status.HTTP_201_CREATED)
\ No newline at end of file
+ return Response({'msg': 'User created successfully.'}, status=status.HTTP_201_CREATED)
diff --git a/backend/db.sqlite3 b/backend/db.sqlite3
index 2594849a915f05ef5472c2475ef5937c13cae8d9..015d80b1c48a431ed430ad9bf3268d455e0d26d5 100644
GIT binary patch
literal 561152
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
delta 3826
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
XN8(CbGRJW>`a`v;Zr^Re?8*)RP+t8c
diff --git a/backend/network_scanner/__init__.py b/backend/network_scanner/__init__.py
new file mode 100644
index 000000000..e69de29bb
diff --git a/backend/network_scanner/admin.py b/backend/network_scanner/admin.py
new file mode 100644
index 000000000..beebb662b
--- /dev/null
+++ b/backend/network_scanner/admin.py
@@ -0,0 +1,7 @@
+from django.contrib import admin
+from .models import ScanResult, Service, Recommendation
+
+# Register your models here.
+admin.site.register(ScanResult)
+admin.site.register(Service)
+admin.site.register(Recommendation)
diff --git a/backend/network_scanner/apps.py b/backend/network_scanner/apps.py
new file mode 100644
index 000000000..5a83774c2
--- /dev/null
+++ b/backend/network_scanner/apps.py
@@ -0,0 +1,6 @@
+from django.apps import AppConfig
+
+
+class NetworkScannerConfig(AppConfig):
+ default_auto_field = "django.db.models.BigAutoField"
+ name = "network_scanner"
diff --git a/backend/network_scanner/models.py b/backend/network_scanner/models.py
new file mode 100644
index 000000000..345282abf
--- /dev/null
+++ b/backend/network_scanner/models.py
@@ -0,0 +1,33 @@
+# backend/networkscanner/models.py
+
+from django.db import models
+
+
+class ScanResult(models.Model):
+ ip_address = models.CharField(max_length=100)
+ hostname = models.CharField(max_length=255)
+ mac_address = models.CharField(max_length=100)
+
+ def __str__(self):
+ return f"{self.ip_address} - {self.hostname}"
+
+
+class Service(models.Model):
+ scan_result = models.ForeignKey(ScanResult, related_name='services', on_delete=models.CASCADE)
+ port = models.IntegerField()
+ name = models.CharField(max_length=100)
+ state = models.CharField(max_length=50)
+ product = models.CharField(max_length=100, blank=True)
+ version = models.CharField(max_length=50, blank=True)
+ extra_info = models.CharField(max_length=200, blank=True)
+
+ def __str__(self):
+ return f"Port {self.port} - {self.name}"
+
+
+class Recommendation(models.Model):
+ scan_result = models.ForeignKey(ScanResult, related_name='recommendations', on_delete=models.CASCADE)
+ recommendation_text = models.TextField()
+
+ def __str__(self):
+ return f"Recommendation for {self.scan_result.ip_address}"
diff --git a/backend/network_scanner/serializers.py b/backend/network_scanner/serializers.py
new file mode 100644
index 000000000..de9c96f7d
--- /dev/null
+++ b/backend/network_scanner/serializers.py
@@ -0,0 +1,35 @@
+# backend/networkscanner/serializers.py
+
+from rest_framework import serializers
+from .models import ScanResult, Service, Recommendation
+
+
+class ServiceSerializer(serializers.ModelSerializer):
+ class Meta:
+ model = Service
+ fields = ['port', 'name', 'state', 'product', 'version', 'extra_info']
+
+
+class ScanResultSerializer(serializers.ModelSerializer):
+ services = ServiceSerializer(many=True)
+
+ class Meta:
+ model = ScanResult
+ fields = ['ip_address', 'hostname', 'mac_address', 'services']
+
+ def create(self, validated_data):
+ print("Creating ScanResult with data:", validated_data)
+ services_data = validated_data.pop('services', [])
+ scan_result = ScanResult.objects.create(**validated_data)
+ print("Created ScanResult, now creating services...")
+ for service_data in services_data:
+ print("Creating service with data:", service_data)
+ Service.objects.create(scan_result=scan_result, **service_data)
+ print("All services created.")
+ return scan_result
+
+
+class RecommendationSerializer(serializers.ModelSerializer):
+ class Meta:
+ model = Recommendation
+ fields = '__all__'
\ No newline at end of file
diff --git a/backend/network_scanner/tests.py b/backend/network_scanner/tests.py
new file mode 100644
index 000000000..7ce503c2d
--- /dev/null
+++ b/backend/network_scanner/tests.py
@@ -0,0 +1,3 @@
+from django.test import TestCase
+
+# Create your tests here.
diff --git a/backend/network_scanner/urls.py b/backend/network_scanner/urls.py
new file mode 100644
index 000000000..7cbac3e1b
--- /dev/null
+++ b/backend/network_scanner/urls.py
@@ -0,0 +1,9 @@
+from django.urls import path
+from .views import recommendations_view, ResultsView #fetch_recommendations
+
+urlpatterns = [
+ path('results/', ResultsView.as_view(), name='results'),
+ path('recommendations/', recommendations_view, name='recommendations_view'),
+ #path('fetch-recommendations/', fetch_recommendations, name='fetch_recommendations'),
+ # Add other URL patterns as needed
+]
diff --git a/backend/network_scanner/utils.py b/backend/network_scanner/utils.py
new file mode 100644
index 000000000..90aee23a5
--- /dev/null
+++ b/backend/network_scanner/utils.py
@@ -0,0 +1,38 @@
+import openai
+
+
+
+def prepare_scan_data_for_openai(scan_result):
+ """
+ Format the scan result data into a structured summary that the AI can understand.
+ """
+ services_info = []
+ for service in scan_result.services.all():
+ service_info = f"Service: {service.name}, Port: {service.port}, Product: {service.product}, Version: {service.version}"
+ services_info.append(service_info)
+
+ scan_data = f"Analyze the following network scan and provide network recommendations for IP {scan_result.ip_address}: " + ", ".join(services_info)
+ return scan_data
+
+
+def get_recommendations_from_openai(scan_result):
+ """
+ Uses OpenAI's chat completions to generate security recommendations based on scan results.
+ """
+ openai.api_key = 'sk-proj-mWLHYmnxOBQUZoTRzVbHT3BlbkFJYZn5zyGI6ZCvTzHUwsAh' # Ensure this is securely managed
+
+ prompt = prepare_scan_data_for_openai(scan_result)
+
+ try:
+ response = openai.ChatCompletion.create(
+ model="gpt-3.5-turbo", # Specify the appropriate chat model
+ messages=[
+ {"role": "system", "content": "You are an AI trained to provide network security advice."},
+ {"role": "user", "content": prompt}
+ ]
+ )
+ return response['choices'][0]['message']['content'].strip()
+ except Exception as e:
+ print(f"Failed to generate recommendations: {str(e)}")
+ return "Failed to generate recommendations."
+
diff --git a/backend/network_scanner/views.py b/backend/network_scanner/views.py
new file mode 100644
index 000000000..c3d247796
--- /dev/null
+++ b/backend/network_scanner/views.py
@@ -0,0 +1,53 @@
+from rest_framework.views import APIView
+from rest_framework.decorators import api_view, permission_classes
+from rest_framework.permissions import IsAuthenticated
+from rest_framework.response import Response
+from rest_framework import status
+from .models import ScanResult, Recommendation
+from .serializers import ScanResultSerializer
+from .utils import get_recommendations_from_openai
+
+
+class ResultsView(APIView):
+ permission_classes = [IsAuthenticated]
+
+ def post(self, request):
+ serializer = ScanResultSerializer(data=request.data.get('devices', []), many=True)
+ if serializer.is_valid():
+ serializer.save()
+ return Response(serializer.data, status=status.HTTP_201_CREATED)
+ return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
+
+
+@api_view(['GET'])
+@permission_classes([IsAuthenticated])
+def recommendations_view(request):
+ all_scans = ScanResult.objects.all()
+ if not all_scans:
+ return Response({'error': 'No scan results available'}, status=status.HTTP_404_NOT_FOUND)
+
+ all_recommendations = []
+ for scan in all_scans:
+ recommendations = Recommendation.objects.filter(scan_result=scan)
+ if recommendations.exists():
+ all_recommendations.extend([{
+ 'id': rec.id,
+ 'ip_address': rec.scan_result.ip_address,
+ 'recommendation_text': rec.recommendation_text
+ } for rec in recommendations])
+ else:
+ # Generate recommendations if none exist
+ recommendation_text = get_recommendations_from_openai(scan)
+ if recommendation_text and not recommendation_text.startswith("Failed"):
+ new_rec = Recommendation.objects.create(scan_result=scan, recommendation_text=recommendation_text)
+ all_recommendations.append({
+ 'id': new_rec.id,
+ 'ip_address': scan.ip_address,
+ 'recommendation_text': recommendation_text
+ })
+
+ if all_recommendations:
+ return Response(all_recommendations)
+ else:
+ return Response({'error': 'Failed to generate recommendations for any scans'},
+ status=status.HTTP_500_INTERNAL_SERVER_ERROR)
diff --git a/backend/watchstone_backend/settings.py b/backend/watchstone_backend/settings.py
index 4e8508250..05cc913dd 100644
--- a/backend/watchstone_backend/settings.py
+++ b/backend/watchstone_backend/settings.py
@@ -35,6 +35,7 @@ INSTALLED_APPS = [
"rest_framework_simplejwt",
"breach_check",
"shodan_scan",
+ "network_scanner"
]
diff --git a/backend/watchstone_backend/urls.py b/backend/watchstone_backend/urls.py
index eb7d3fbc5..168d00778 100644
--- a/backend/watchstone_backend/urls.py
+++ b/backend/watchstone_backend/urls.py
@@ -12,5 +12,6 @@ urlpatterns = [
path('haveibeenpwned/<str:identifier>/', have_i_been_pwned, name='have_i_been_pwned'),
path('haveibeenpwned/passwords/<str:identifier>/', breached_password_info, name='breached_password_info'),
path('', include('shodan_scan.urls')),
+ path('api/networkscanner/', include('network_scanner.urls')),
# Add other URL patterns as needed
]
diff --git a/frontend/src/_nav.js b/frontend/src/_nav.js
index f059e987a..0041f891d 100644
--- a/frontend/src/_nav.js
+++ b/frontend/src/_nav.js
@@ -69,6 +69,12 @@ const _nav = [
to: '/scan',
icon: <CIcon icon={cilShieldAlt} customClassName="nav-icon" />,
},
+ {
+ component: CNavItem,
+ name: 'Network Recommendations',
+ to: '/recommendations',
+ icon: <CIcon icon={cilShieldAlt} customClassName="nav-icon" />,
+ },
{
component: CNavTitle,
name: 'Theme',
diff --git a/frontend/src/components/AppFooter.js b/frontend/src/components/AppFooter.js
index c853f5b87..9c4c680ab 100644
--- a/frontend/src/components/AppFooter.js
+++ b/frontend/src/components/AppFooter.js
@@ -5,16 +5,7 @@ const AppFooter = () => {
return (
<CFooter>
<div>
- <a href="https://coreui.io" target="_blank" rel="noopener noreferrer">
- CoreUI
- </a>
- <span className="ms-1">© 2023 creativeLabs.</span>
- </div>
- <div className="ms-auto">
- <span className="me-1">Powered by</span>
- <a href="https://coreui.io/react" target="_blank" rel="noopener noreferrer">
- CoreUI React Admin & Dashboard Template
- </a>
+ <span className="ms-1">© 2024 Data Guardian.</span>
</div>
</CFooter>
)
diff --git a/frontend/src/index.js b/frontend/src/index.js
index d19a3bcd3..9e822ebb1 100644
--- a/frontend/src/index.js
+++ b/frontend/src/index.js
@@ -6,6 +6,20 @@ import App from './App'
import reportWebVitals from './reportWebVitals'
import { Provider } from 'react-redux'
import store from './store'
+import axios from 'axios'
+
+// Setting up Axios Interceptors
+axios.interceptors.response.use(
+ (response) => response,
+ (error) => {
+ if (error.response && error.response.status === 401) {
+ console.error('Unauthorized access detected.')
+ // Redirect to the login page
+ //window.location.href = '/login' FIX THIS LATER, not the answer to protected routes.
+ }
+ return Promise.reject(error)
+ },
+)
createRoot(document.getElementById('root')).render(
<Provider store={store}>
diff --git a/frontend/src/routes.js b/frontend/src/routes.js
index ab66997bb..583ee2a34 100644
--- a/frontend/src/routes.js
+++ b/frontend/src/routes.js
@@ -56,6 +56,9 @@ const PasswordBreaches = React.lazy(() => import('./views/passwords/Breaches'))
const TrackedPasswords = React.lazy(() => import('./views/passwords/BreachesPasswords'))
const Profile = React.lazy(() => import('./views/pages/profile/Profile'))
const shodan_scan = React.lazy(() => import('./views/shodan/shodanscan'))
+const RecommendationsPage = React.lazy(() =>
+ import('./views/NetworkScanner/RecommendationComponent'),
+)
const routes = [
{ path: '/', exact: true, name: 'Home' },
@@ -108,6 +111,7 @@ const routes = [
{ path: '/password-breaches/view', name: 'View Breached Passwords', element: TrackedPasswords },
{ path: '/profile', name: 'Profile', element: Profile },
{ path: '/scan', name: 'Shodan Scan', element: shodan_scan },
+ { path: '/recommendations', name: 'Recommendations', element: RecommendationsPage },
]
export default routes
diff --git a/frontend/src/views/NetworkScanner/RecommendationComponent.js b/frontend/src/views/NetworkScanner/RecommendationComponent.js
new file mode 100644
index 000000000..4a1124192
--- /dev/null
+++ b/frontend/src/views/NetworkScanner/RecommendationComponent.js
@@ -0,0 +1,65 @@
+import React, { useState, useEffect } from 'react'
+import axios from 'axios'
+
+const RecommendationsPage = () => {
+ const [recommendations, setRecommendations] = useState([])
+
+ useEffect(() => {
+ const fetchRecommendations = async () => {
+ const token = localStorage.getItem('token')
+ console.log('Token:', token)
+ if (!token) {
+ console.error('No token available.')
+ return
+ }
+
+ try {
+ const response = await axios.get(
+ 'http://localhost:8000/api/networkscanner/recommendations/',
+ {
+ headers: {
+ Authorization: `Bearer ${token}`,
+ },
+ },
+ )
+ setRecommendations(response.data)
+ } catch (error) {
+ console.error('Error fetching recommendations:', error)
+ // Handle different errors appropriately here without redirecting
+ if (error.response) {
+ console.error('Error status:', error.response.status) // Log specific error status
+ }
+ }
+ }
+
+ fetchRecommendations()
+ }, [])
+
+ return (
+ <div>
+ <h2>Network Security Recommendations</h2>
+ <table className="table table-striped table-responsive mt-3">
+ <thead>
+ <tr>
+ <th>IP Address</th>
+ <th>Port</th>
+ <th>Service Name</th>
+ <th>Recommendation</th>
+ </tr>
+ </thead>
+ <tbody>
+ {recommendations.map((rec) => (
+ <tr key={rec.id}>
+ <td>{rec.ip_address}</td>
+ <td>{rec.port}</td>
+ <td>{rec.service_name}</td>
+ <td>{rec.recommendation_text}</td>
+ </tr>
+ ))}
+ </tbody>
+ </table>
+ </div>
+ )
+}
+
+export default RecommendationsPage
diff --git a/frontend/src/views/emails/BreachesEmails.js b/frontend/src/views/emails/BreachesEmails.js
index 738a7f877..11eff4d26 100644
--- a/frontend/src/views/emails/BreachesEmails.js
+++ b/frontend/src/views/emails/BreachesEmails.js
@@ -1,9 +1,10 @@
// BreachesPasswords.js
import React, { useState, useEffect } from 'react'
+import { useNavigate } from 'react-router-dom'
const BreachesEmails = () => {
const [breachResults, setBreachResults] = useState([])
-
+ const navigate = useNavigate()
useEffect(() => {
fetchBreachResultsData()
}, [])
@@ -19,6 +20,7 @@ const BreachesEmails = () => {
if (response.status === 401) {
console.error('Unauthorized access to the API')
+ navigate('/login')
return
}
diff --git a/frontend/src/views/pages/login/Login.js b/frontend/src/views/pages/login/Login.js
index ad2d38464..8d08d6122 100644
--- a/frontend/src/views/pages/login/Login.js
+++ b/frontend/src/views/pages/login/Login.js
@@ -1,6 +1,5 @@
import React, { useState } from 'react'
-import { Link } from 'react-router-dom'
-import { useNavigate } from 'react-router-dom'
+import { Link, useNavigate } from 'react-router-dom'
import axios from 'axios'
import {
CButton,
@@ -21,6 +20,7 @@ import { logo } from '../../../assets/brand/logo'
const Login = () => {
const [loginData, setLoginData] = useState({ username: '', password: '' })
+ const [error, setError] = useState('') // State to hold login error
const navigate = useNavigate()
const handleChange = (e) => {
@@ -29,15 +29,18 @@ const Login = () => {
const handleSubmit = async (e) => {
e.preventDefault()
+ setError('') // Clear previous errors
try {
const response = await axios.post('http://localhost:8000/api/auth/login/', loginData)
localStorage.setItem('token', response.data.access) // Save token
console.log('Login successful:', response.data)
- // Handle successful login (redirect to dashboard, etc.)
navigate('/dashboard')
} catch (error) {
- console.error('Login error:', error.response)
- // Handle login errors (show error message, etc.)
+ if (error.response && error.response.status === 401) {
+ setError('Invalid username or password.')
+ } else {
+ setError('Something went wrong. Please try again.')
+ }
}
}
@@ -53,6 +56,7 @@ const Login = () => {
<CIcon className="sidebar-brand-full" icon={logo} height={35} />
<h1>Welcome back!</h1>
<p className="text-medium-emphasis">Sign In to your account</p>
+ {error && <p className="text-danger">{error}</p>} {/* Display login error */}
<CInputGroup className="mb-3">
<CInputGroupText>
<CIcon icon={cilUser} />
diff --git a/frontend/src/views/pages/register/Register.js b/frontend/src/views/pages/register/Register.js
index 26f07f6af..8a6fe6105 100644
--- a/frontend/src/views/pages/register/Register.js
+++ b/frontend/src/views/pages/register/Register.js
@@ -23,6 +23,7 @@ const Register = () => {
password: '',
confirmPassword: '',
})
+ const [error, setError] = useState('')
const navigate = useNavigate()
const handleChange = (e) => {
@@ -31,8 +32,15 @@ const Register = () => {
const handleSubmit = async (e) => {
e.preventDefault()
+ setError('') // Clear previous errors
+ if (!isPasswordComplex(userData.password)) {
+ setError(
+ 'Password must be at least 8 characters long, include uppercase and lowercase letters, a number, and a special character.',
+ )
+ return
+ }
if (userData.password !== userData.confirmPassword) {
- alert('Passwords do not match')
+ setError('Passwords do not match.')
return
}
try {
@@ -42,14 +50,18 @@ const Register = () => {
password: userData.password,
})
console.log(response.data)
- // Handle success - redirect or clear form
navigate('/login')
} catch (error) {
console.error('Registration error:', error.response)
- // Handle errors - show error message
+ setError('Failed to register. Please try again.')
}
}
+ function isPasswordComplex(password) {
+ const regex = /^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[@$!%*?&])[A-Za-z\d@$!%*?&]{8,}$/
+ return regex.test(password)
+ }
+
return (
<div className="bg-light min-vh-100 d-flex flex-row align-items-center">
<CContainer>
@@ -60,6 +72,7 @@ const Register = () => {
<CForm onSubmit={handleSubmit}>
<h1>Register</h1>
<p className="text-medium-emphasis">Create your account</p>
+ {error && <p className="text-danger">{error}</p>} {/* Display error message */}
<CInputGroup className="mb-3">
<CInputGroupText>
<CIcon icon={cilUser} />
diff --git a/frontend/src/views/passwords/BreachesPasswords.js b/frontend/src/views/passwords/BreachesPasswords.js
index ce07cf20a..a74ee3c06 100644
--- a/frontend/src/views/passwords/BreachesPasswords.js
+++ b/frontend/src/views/passwords/BreachesPasswords.js
@@ -1,9 +1,10 @@
// BreachesPasswords.js
import React, { useState, useEffect } from 'react'
+import { useNavigate } from 'react-router-dom'
const BreachesPasswords = () => {
const [breachResults, setBreachResults] = useState([])
-
+ const navigate = useNavigate()
useEffect(() => {
fetchBreachResultsData()
}, [])
@@ -11,6 +12,7 @@ const BreachesPasswords = () => {
const fetchBreachResultsData = async () => {
try {
const token = localStorage.getItem('token')
+
const response = await fetch('http://localhost:8000/api/breaches/passwords/details/', {
headers: {
Authorization: `Bearer ${token}`,
@@ -19,6 +21,7 @@ const BreachesPasswords = () => {
if (response.status === 401) {
console.error('Unauthorized access to the API')
+ navigate('/login')
return
}
diff --git a/frontend/src/views/widgets/WidgetsDropdown.js b/frontend/src/views/widgets/WidgetsDropdown.js
index 66e7a5cc0..f79b8c66f 100644
--- a/frontend/src/views/widgets/WidgetsDropdown.js
+++ b/frontend/src/views/widgets/WidgetsDropdown.js
@@ -13,10 +13,10 @@ import CIcon from '@coreui/icons-react'
import { cilArrowBottom, cilArrowTop, cilOptions } from '@coreui/icons'
import { countUniqueEmails } from '../emails/BreachesEmails'
import React, { useState, useEffect } from 'react'
-
+import { useNavigate } from 'react-router-dom'
const WidgetsDropdown = () => {
const [breachResults, setBreachResults] = useState([])
-
+ const navigate = useNavigate()
useEffect(() => {
// Fetch or set your breachResults data
// Example: Fetching data using an async function
@@ -31,6 +31,7 @@ const WidgetsDropdown = () => {
if (response.status === 401) {
console.error('Unauthorized access to the API')
+ navigate('/login')
return
}
--
GitLab