Przeglądaj źródła

Don't send session cookies in static files

pull/65/head
Ben Kurtovic 5 miesięcy temu
rodzic
commit
ca24db7cd0
1 zmienionych plików z 11 dodań i 6 usunięć
  1. +11
    -6
      src/copyvios/__init__.py

+ 11
- 6
src/copyvios/__init__.py Wyświetl plik

@@ -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",


Ładowanie…
Anuluj
Zapisz