mirror of
				https://github.com/usmannasir/cyberpanel.git
				synced 2025-10-31 18:36:17 +01:00 
			
		
		
		
	
		
			
	
	
		
			33 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
		
		
			
		
	
	
			33 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
|  | # -*- coding: utf-8 -*- | ||
|  | """
 | ||
|  | phpMyAdmin Access Control Middleware | ||
|  | 
 | ||
|  | This middleware checks if users are trying to access phpMyAdmin directly | ||
|  | without being logged into CyberPanel and redirects them to the login page. | ||
|  | """
 | ||
|  | 
 | ||
|  | from django.shortcuts import redirect | ||
|  | from django.http import HttpResponseRedirect | ||
|  | from django.urls import reverse | ||
|  | 
 | ||
|  | 
 | ||
|  | class PhpMyAdminAccessMiddleware: | ||
|  |     """
 | ||
|  |     Middleware to control phpMyAdmin access and redirect unauthenticated users to login page. | ||
|  |     """
 | ||
|  |      | ||
|  |     def __init__(self, get_response): | ||
|  |         self.get_response = get_response | ||
|  | 
 | ||
|  |     def __call__(self, request): | ||
|  |         # Check if the request is for phpMyAdmin | ||
|  |         if request.path.startswith('/phpmyadmin/'): | ||
|  |             # Check if user is authenticated (has session) | ||
|  |             if 'userID' not in request.session: | ||
|  |                 # Redirect to CyberPanel login page | ||
|  |                 login_url = '/base/' | ||
|  |                 return HttpResponseRedirect(login_url) | ||
|  |          | ||
|  |         response = self.get_response(request) | ||
|  |         return response |