Projet

Général

Profil

Development #42824

ne pas logguer les Invalid HTTP_HOST header

Ajouté par Frédéric Péters il y a presque 4 ans. Mis à jour il y a environ 3 ans.

Statut:
Fermé
Priorité:
Normal
Assigné à:
Catégorie:
-
Version cible:
-
Début:
13 mai 2020
Echéance:
% réalisé:

0%

Temps estimé:
Patch proposed:
Oui
Planning:
Non

Description

Sur les déploiements j'ai l'impression que ça ne sert vraiment à rien.


Fichiers

Révisions associées

Révision d1636eee (diff)
Ajouté par Benjamin Dauvergne il y a environ 3 ans

misc: log DisallowedHost as warnings (#42824)

Historique

#1

Mis à jour par Benjamin Dauvergne il y a plus de 3 ans

Lancé dans HttpRequest, validation via ALLOWED_HOSTS, raise de DisallowedHost hérite de SuspiciousOperation géré dans django.core.handlers.exceptions.response_for_exception, et logger là :

    elif isinstance(exc, SuspiciousOperation):
        if isinstance(exc, (RequestDataTooBig, TooManyFieldsSent)):
            # POST data can't be accessed again, otherwise the original
            # exception would be raised.
            request._mark_post_parse_error()

        # The request logger receives events for any problematic request
        # The security logger receives events for all SuspiciousOperations
        security_logger = logging.getLogger('django.security.%s' % exc.__class__.__name__)
        security_logger.error(
            str(exc),
            extra={'status_code': 400, 'request': request},
        )
        if settings.DEBUG:
            response = debug.technical_500_response(request, *sys.exc_info(), status_code=400)
        else:
            response = get_exception_response(request, get_resolver(get_urlconf()), 400, exc)

Donc on bloque django.security.DisallowedHost et on est bon.

#2

Mis à jour par Benjamin Dauvergne il y a plus de 3 ans

  • Assigné à mis à Benjamin Dauvergne
#3

Mis à jour par Benjamin Dauvergne il y a plus de 3 ans

Je suis repassé sur toutes les logs de type SuspiciousOperation, en plus il y en a un qui était mal configuré.

#4

Mis à jour par Frédéric Péters il y a plus de 3 ans

(erreur jenkins)

self = <hobo.logger.ClampLogLevel object at 0x7f5eff6a5310>, level = 'WARNING'

    def __init__(self, level):
        self.levelname = level.upper()
        self.levelno = getattr(logging, self.levelname)
>       super().__init__()
E       TypeError: super() takes at least 1 argument (0 given)
#6

Mis à jour par Serghei Mihai il y a environ 3 ans

  • Statut changé de Solution proposée à Solution validée
#7

Mis à jour par Benjamin Dauvergne il y a environ 3 ans

  • Statut changé de Solution validée à Résolu (à déployer)
commit d1636eeeced9b2a6ef712a56711dc07326eb40e2
Author: Benjamin Dauvergne <bdauvergne@entrouvert.com>
Date:   Thu Nov 26 20:57:42 2020 +0100

    misc: log DisallowedHost as warnings (#42824)
#8

Mis à jour par Frédéric Péters il y a environ 3 ans

  • Statut changé de Résolu (à déployer) à Solution déployée

Formats disponibles : Atom PDF