Comments (4)
That is correct. If the IP is not externally routeable (e.g. private ip), then your best bet might be to use the REMOTE_ADDR field which is the last item in the default precedence list. This might not be the case for everyone. If so, then you'd be passing in your own precedence list. This behavior is not an exact science and may not work for all setups.
from django-ipware.
That makes sense, but, in general, do you expect that the desired precedence list for real (public) IPs will be the /reverse/ of the precedence list for non-public IPs? Because that's what your code does, currently.
from django-ipware.
Yep. That's the intended behavior.
from django-ipware.
I have changed the behavior so the private and the public IP address search follows the same precedence list. With one exception, and that is, any private IP will win over a loopback interface even if it is matched later.
from django-ipware.
Related Issues (20)
- Add a notice informing users that ports are not stripped HOT 1
- Update django-ipware to use python-ipware underneath - Help Needed HOT 1
- Tests fail with python-ipware 2.0.4 HOT 2
- 'NoneType' object has no attribute 'META' HOT 3
- proxy_count and proxy_trusted_ips returning None on localhost/ngrok HOT 1
- Release this package with Django 3.2 support HOT 2
- Looking for 1-2 contributors to de-risk the project as it is now used by many projects HOT 5
- setup.py license classifier does not match LICENSE HOT 3
- Precedence order is not regarded when all IPs are not routable HOT 4
- Update the logic to better handle client IP determination for both routable and private HOT 3
- Suggestion - define default settings value HOT 2
- Any IP starting with `::` is treated as private HOT 7
- Feature proposal: get IP address in list of IPs based on `ip_count` HOT 1
- 'NoneType' object has no attribute 'strip' when META['REMOTE_ADDR'] is None HOT 1
- This module treats addresses like 2001:0db8:1234:: as routable HOT 1
- Upgrade django-ipware with enhancements HOT 1
- What is the difference between getting IP from django-ipware versus stream HOT 3
- ipware ignoring precedence order HOT 4
- [Feature Request] Add support for Django 4.2 HOT 1
- Use `python-ipware` underneath
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from django-ipware.