Как обнаружить пользователей, устанавливающих "не отслеживать"
Я просмотрел некоторые статьи Google и некоторые разделы для разработчиков Firefox и обнаружил, что есть опция, позволяющая не позволять некоторым сайтам отслеживать вашу информацию.
Я посмотрел на это и сделал несколько поисков в Google для разработчиков, но мне не удалось найти какую-либо информацию о том, как определить, установил ли пользователь это в своем браузере.
Это отправлено в POST
запрос или в любой тип запроса? Это входит в пользовательский агент? Я просто хотел знать, как управлять этим, а не хранить их ips
для входа в качестве примера.
3 ответа
Это отправлено как заголовок HTTP:
function dnt_enabled()
{
return (isset($_SERVER['HTTP_DNT']) && $_SERVER['HTTP_DNT'] == 1);
}
if dnt_enabled() {
// do stuff...
}
Или, если вы используете PHP 7:
function dnt_enabled(): bool
{
return (bool)$_SERVER['HTTP_DNT'] ?? false;
}
Навигатор.doNotTrack
Если вы хотите использовать клиентский JavaScript для проверки наличия у пользователянабор заголовков запроса, вы можете использовать.
Это свойство возвращает значениеdnt
HTTP-заголовок (т. е.
"1"
,
"0"
, или же
"unspecified"
).
Вы можете получить доступ к этому значению через PHP, отправив это значение POST через AJAX.
Примечание: на момент публикации
navigator.doNotTrack
до сих пор считается экспериментальной технологией. Ожидайте, что поведение изменится в будущем, и будьте осторожны, прежде чем использовать его в своем приложении. См . раздел «Совместимость браузера» .
$do_not_track_requested = ! empty( $_SERVER[ 'HTTP_DNT' ] );
Все заголовки HTTP присутствуют в $_SERVER
, с префиксом HTTP_
.