How can I see the IP from which a post originated?

Is there a way to see the IP from which a specific post was made?

I don’t think Discourse tracks IP at that level. As far as I know it only tracks it by Registration and Last Login/Visit on the User, not on a post/topic.

1 Like

Huh. I’m surprised. Per post/topic IP logging would help to see if an account was compromised.


Again this is needed for security or even legal reasons, as if some entity requests the IP from where the msg was posted from

1 Like

It would be a good idea if we recorded the IP with each post. Do we have the data structures in place to do this, @zogstrip? Maybe as a post actions or post history table column?


Yeah, each post revision should store the ip that created it.


Perhaps also consider storing if an API key was used in combination with the IP to create the post, this might aid in any clean up as a result of an API key abuse - either a users or the master API key.


I revive this old topic. Is it still so that it’s not possible to determine from which IP address a post was sent from?

Seeing that nobody answered, I suppose it is not possible.

I am asking because this week a regular user contacted us admins at our forum. (This is something any admin could run into so sharing the experience is smart.) He told that he hadn’t written a post which had been posted from his account. Obviously I killed all his active sessions and forced him to reconfirm his email. The email hadn’t been changed btw. That could be deduced by looking where the system had previously sent email digests (a nice tip!). The user told that he also changed his password so he should be safe from future attacks.

It is weird that the post was nothing offensive or “funny” or anything that you might be tempted to post on someone else’s behalf. It was a proper post on a proper topic! It would make no sense that someone would work to hack his account just to publish that post.

So probably someone had access to a device where the user had a live session going or the user had saved his password to a browser. But the user denies that: he claims that he uses the forum only with his phone and his PC. He says that there is no chance someone had access to those.

We have no clue of how we could gain more clues of what happened. Seeing the IP address from which the post was sent from would be a nice hint.

1 Like

Assuming it was recent you can just grep for his username in the nginx logs.

zgrep username /var/discourse/shared/standalone/log/var-log/nginx/access.log.*.gz


It was two days ago. Thank you for the tip! The fellow admin @ljpp should try this and ask for help if he needs.

Hi, how to get this info? I have the same question as the topic author, this info would be very useful for security and legal reasons.

should … not does. There are GDPR concerns and so on, I don’t expect us to add this any time soon.


Well, I totally understand you guys don’t want to add this, but I doubt it can somehow be related to GDPR.

According to GDPR, even though IPs are private/personal content, they can be collected and processed (even without consent) for legitimate reasons like, for instance, tracking security related events or unauthorized access attempts.

I’m not saying that every single IP should be recorded in every single situation, but maybe you should consider setting it up a limit, like last 30 days (and which action associated with it) as an extra option besides just the last recorded IP.


I think something like this has yet to be implemented so I’ll slide the topic over to feature. :+1: