Mask sensitive POST fields in error e-mails

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
from django.core import signals
from django.dispatch import dispatcher

## Case Sensitive!!!
MASK_IN_EXCEPTION_EMAIL= ['password', 'protected', 'private' ]

def clean_request_for_exception(signal=None, sender=None, request=None):
    masked = False
    if not request or not request.POST: return False
    mutable = request.POST._mutable
    request.POST._mutable = True
    for name in request.POST:
        for mask in MASK_IN_EXCEPTION_EMAIL:
            if mask in name:
                request.POST[name]=u'xxHIDDENxx'
                masked=True
                break
    request.POST._mutable = mutable
    return masked

dispatcher.connect(clean_request_for_exception,
                   signal=signals.got_request_exception)

More like this

  1. No Password E-mail by jefferya 4 years, 4 months ago
  2. UTC DateTime field by ludo 5 years, 9 months ago
  3. Complex Formsets, Redux by smagala 3 years, 3 months ago
  4. Improved Pickled Object Field by taavi223 3 years, 10 months ago
  5. Faster pagination / model object seeking (10x faster infact :o) for larger datasets (500k +) by sleepycal 2 years, 6 months ago

Comments

(Forgotten your password?)