Download the PHP package pta/ipinfo without Composer
On this page you can find all versions of the php package pta/ipinfo. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Package ipinfo
Short Description A basic PHP wrapper for adding IP based user location detection into your application using the IP Info DB API.
License MIT
Informations about the package ipinfo
IP User Location
A basic PHP wrapper for adding IP based user location detection into your application using the IP Info DB API.
Installation
Add pta/ipinfo
as a requirement to composer.json
:
Update your packages with composer update
or install with composer install
.
You can also add the package using composer require pta/ipinfo
and later specifying the version you want.
Methods
Get city based information
You can use ->getCity($ip)
to retrieve city level information about an IP address.
Example json response:
Get country based information
You can use ->getCountry($ip)
to retrieve country level information about an IP address. Obviously this is faster than retrieving city level information.
Example json response:
Validate an IP address
You can use ->validIP($ip)
to see if the specified IP Address is valid.
Under the hood this uses filter_var($ip, FILTER_VALIDATE_IP)
, I assume this is pretty solid. If you have any suggestions for a better way of doing this send a pull request or drop me an email.
Get the user's IP address
You can use ->getIpAddress()
to retrieve the users IP address.
You shouldn't be trusting a user based this data, HTTP headers can be faked, trivially.
API keys & query limits
You can get a (free) API key here, obviously this should be kept private.
While there are no strict query limits if you send more than 2 requests per second they will be queued. You will still always get a response, but it will be slowed to around 1 /second.
I would strongly suggest using some form of cache. Cookies (mmm cookies) are probably the easiest way to deal with this:
Todo
- Allow devs not to pass an IP address (since it isn't required by the API)
- The
->getIpAddress()
function probably needs additional testing - Composer package this badboy
License
This is open-sourced software licensed under the MIT license.