8
votes

Injection Nom d'utilisateur Nom d'utilisateur / ID utilisateur dans NGinx / Apache Log

Y a-t-il un moyen d'injecter un nom d'utilisateur ou une carte d'utilisateur (dans ce cas, le nom d'utilisateur ou l'identifiant Django) dans le journal Apache ou Ngnix? Notez que je ne pose pas de questions sur le nom d'utilisateur HTTP Auth.


0 commentaires

3 Réponses :


2
votes

Nous faisons quelque chose comme ça, nous disons seulement Apache de stocker le cookie Django SessionID.

LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-agent}i\" %{sessionid}C" withsession
CustomLog logs/example.com-access_log withsession


1 commentaires

Excellent, je n'étais pas au courant de l'option "C" dans la journalisation, ça va probablement fonctionner.



15
votes

J'utilise actuellement une courte middleware personnalisée pour ajouter ces données aux en-têtes de réponse, comme ci-dessous: xxx

avec ceci en place, vous pouvez simplement utiliser % {x-is-user-nom-nom-nom} o et % {x -Remote-user-id} o dans votre configuration Apache (ou similaire pour nginx) et obtenez les informations directement dans vos journaux.


0 commentaires

0
votes

Si vous avez un cookie pour le nom d'utilisateur, dites "Uname", vous pouvez ajouter% {UNAME} C, comme ceci:

24.xx.xx.xxx user.name - - [09/Sep/2016:19:33:21 -0400] "GET /xxxx HTTP/1.1" 304 - "https://xxx/xxx" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.116 Safari/537.36"


0 commentaires