Il s'agit d'une bibliothèque permettant à PHP d'anonymiser les adresses IP. Cela facilite le respect de la vie privée des utilisateurs et rend plus difficile l’identification d’un utilisateur final par son adresse IP. L'anonymisation des adresses IP peut être utile dans de nombreux cas où l'adresse IP exacte n'est pas importante ou même indésirable, par exemple dans une analyse statistique.
Cette bibliothèque prend en charge les adresses IPv4 et IPv6. Les adresses sont anonymisées avec leur identifiant réseau.
Les paramètres par défaut anonymisent une adresse IP vers un sous-réseau /24 (IPv4) ou un sous-réseau /64 (IPv6), mais ceux-ci peuvent être personnalisés.
Par exemple, l'adresse IPv4 192.168.178.123
est anonymisée par défaut en 192.168.178.0
.
L'adresse IPv6 2a03:2880:2110:df07:face:b00c::1
est anonymisée par défaut en 2a03:2880:2110:df07::
.
<?php
use geertw IpAnonymizer IpAnonymizer ;
require ' vendor/autoload.php ' ;
$ ipAnonymizer = new IpAnonymizer ();
var_dump ( $ ipAnonymizer -> 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::
Cette bibliothèque est sous licence MIT. Voir le fichier LICENSE pour la licence complète.