How do you read the ip address?
It is possible to include the ip in a http header. This header can contain whatever ip possible, even fake ones. If the user sits behind a proxy, it might put such a header on the http request, so you get his private ip.
Btw, only 172.16.0.0 - 172.31.255.255 are private