Новое в Symfony 4.4: Aнонимайзер IP-адресов

Конфиденциальность становится все более важной проблемой соблюдения требований для технологических компаний. Существующие нормативные акты, такие как EU 2016/679, широко известный как GDPR, и грядущие нормативные акты, такие как CCPA (Калифорнийский закон о защите прав потребителей), накладывают некоторые ограничения на сбор и обработку персональных данных.

В дополнение к классическим личным данным, таким как имена и номера телефонов, некоторые цифровые данные, такие как адреса электронной почты и IP-адреса, также считаются личными данными.

Распространенной процедурой хранения информации о пользователях (для целей анализа) при соблюдении требований является анонимность IP-адресов. В частности, вы должны удалить последний байт для адресов IPv4 и последние 8 байтов для адресов IPv6.

Хотя это технически не сложно, в Symfony 4.4 добавили новый метод anonymize() в класс IpUtils, поэтому вам не нужно создавать этот метод самостоятельно:

use Symfony\Component\HttpFoundation\IpUtils;

$ipv4 = '123.234.235.236';
$anonymousIpv4 = IPUtils::anonymize($ipv4);
// $anonymousIpv4 = '123.234.235.0'

$ipv6 = '2a01:198:603:10:396e:4789:8e99:890f';
$anonymousIpv6 = IPUtils::anonymize($ipv6);
// $anonymousIpv6 = '2a01:198:603:10::'