https://github.com/geertw/php-ip-anonymizer
IP address anonymizer library for PHP
https://github.com/geertw/php-ip-anonymizer
gdpr ip-address ipv4 ipv6 php php-library
Last synced: 10 months ago
JSON representation
IP address anonymizer library for PHP
- Host: GitHub
- URL: https://github.com/geertw/php-ip-anonymizer
- Owner: geertw
- License: mit
- Created: 2016-10-27T10:04:03.000Z (over 9 years ago)
- Default Branch: master
- Last Pushed: 2018-09-26T22:17:21.000Z (over 7 years ago)
- Last Synced: 2024-12-10T02:20:55.715Z (over 1 year ago)
- Topics: gdpr, ip-address, ipv4, ipv6, php, php-library
- Language: PHP
- Homepage:
- Size: 11.7 KB
- Stars: 61
- Watchers: 4
- Forks: 10
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
[](https://packagist.org/packages/geertw/ip-anonymizer)
[](https://packagist.org/packages/geertw/ip-anonymizer)
[](https://packagist.org/packages/geertw/ip-anonymizer)
# IP address anonymizer for PHP
This is a library for PHP to anonymize IP addresses. This makes it easier to respect user privacy, and it makes it more
difficult to identify an end user by his IP address. Anonymizing IP addresses can be useful for a lot of cases where the
exact IP address is not important or even undesired, for example in a statistical analysis.
This library supports both IPv4 and IPv6 addresses. Addresses are anonymized to their network ID.
The default settings anonymize an IP address to a /24 subnet (IPv4) or a /64 subnet (IPv6), but these can be customized.
For instance, the IPv4 address `192.168.178.123` is anonymized by default to `192.168.178.0`.
The IPv6 address `2a03:2880:2110:df07:face:b00c::1` is anonymized by default to `2a03:2880:2110:df07::`.
## Example
```php
anonymize('127.0.0.1'));
// returns 127.0.0.0
var_dump($ipAnonymizer->anonymize('192.168.178.123'));
// returns 192.168.178.0
var_dump($ipAnonymizer->anonymize('8.8.8.8'));
// returns 8.8.8.0
var_dump($ipAnonymizer->anonymize('::1'));
// returns ::
var_dump($ipAnonymizer->anonymize('::127.0.0.1'));
// returns ::
var_dump($ipAnonymizer->anonymize('2a03:2880:2110:df07:face:b00c::1'));
// returns 2a03:2880:2110:df07::
var_dump($ipAnonymizer->anonymize('2610:28:3090:3001:dead:beef:cafe:fed3'));
// returns 2610:28:3090:3001::
// Use a custom mask:
$ipAnonymizer->ipv4NetMask = "255.255.0.0";
var_dump($ipAnonymizer->anonymize('192.168.178.123'));
// returns 192.168.0.0
// You can use this class also in a static way:
var_dump(IpAnonymizer::anonymizeIp('192.168.178.123'));
// returns 192.168.178.0
var_dump(IpAnonymizer::anonymizeIp('2610:28:3090:3001:dead:beef:cafe:fed3'));
// returns 2610:28:3090:3001::
```
## License
This library is licensed under the MIT License. See the [LICENSE](LICENSE) file for the full license.