# bengkel/middleware.py

class NoCacheMiddleware:
    """
    Perisai khas untuk memastikan pelayar web (Browser) tidak menyimpan 
    sebarang halaman ke dalam memori (Back-Forward Cache).
    Ini penting untuk mengelakkan isu menekan butang 'Back' selepas log keluar.
    """
    def __init__(self, get_response):
        self.get_response = get_response

    def __call__(self, request):
        response = self.get_response(request)
        
        # Cop amaran "JANGAN SIMPAN DALAM MEMORI" pada setiap halaman
        response['Cache-Control'] = 'no-store, no-cache, private, must-revalidate, max-age=0'
        response['Pragma'] = 'no-cache'
        response['Expires'] = '0'
        
        return response