From ca24db7cd043ed03daa7628514a2e6831ac2a7df Mon Sep 17 00:00:00 2001 From: Ben Kurtovic Date: Fri, 1 May 2026 23:55:24 -0500 Subject: [PATCH] Don't send session cookies in static files --- src/copyvios/__init__.py | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/src/copyvios/__init__.py b/src/copyvios/__init__.py index abd4f91..ff8281a 100644 --- a/src/copyvios/__init__.py +++ b/src/copyvios/__init__.py @@ -3,20 +3,25 @@ import logging import os from logging.handlers import TimedRotatingFileHandler -from flask import Flask, Response, request +from flask import Flask, request +from flask.sessions import SecureCookieSessionInterface, SessionMixin + + +class CopyviosSessionInterface(SecureCookieSessionInterface): + def should_set_cookie(self, app: Flask, session: SessionMixin) -> bool: + if request.endpoint == "static" and request.args.get("v"): + return False + return super().should_set_cookie(app, session) class CopyviosFlask(Flask): + session_interface = CopyviosSessionInterface() + def get_send_file_max_age(self, filename: str | None) -> int | None: if request.args.get("v"): return 365 * 24 * 60 * 60 return super().get_send_file_max_age(filename) - def send_static_file(self, filename: str) -> Response: - response = super().send_static_file(filename) - response.headers.pop("Set-Cookie", None) - return response - app = CopyviosFlask( "copyvios",