Как получить всю информацию о клиенте от посетителей сайта? - PullRequest
6 голосов
/ 25 мая 2011

Я хочу собрать всю информацию, которую мы могли бы, когда кто-то посещает веб-страницу: например:

clients screen resolution: <script type='text/javascript'>document.write(screen.width+'x'+screen.height); </script>
referer: <?php print ($_SERVER['HTTP_REFERER']); ?>
client ip: <?php print ($_SERVER['REMOTE_ADDR']); ?>
user agent:  <?php print ($_SERVER['HTTP_USER_AGENT']); ?>

что еще там есть?

Ответы [ 6 ]

12 голосов
/ 25 мая 2011

Это основные части информации.Все, что выходит за рамки этого, может рассматриваться как SpyWare-подобный и сторонники конфиденциальности [оправданно] нахмурится.

Лучший способ получить больше информации от ваших пользователей - это спросить их, сделать поля необязательными и сообщить вашемупользователь именно для чего вы будете использовать информацию.Будете ли вы отправлять им новостную рассылку?

Если вы планируете отправлять их по электронной почте, вы ДОЛЖНЫ использовать подход «подтвержденный отказ» - получить их согласие (если они ответят на электронное письмо, введя ключ сspecial-secret-уникальный номер, подтверждающий, что они дают вам разрешение сначала отправить им этот бюллетень или любые уведомления, которые вы планируете им отправить).

Пока вы заранее знаете, как выпланируйте использовать информацию и предоставьте пользователям варианты, чтобы решить, как вы можете ее использовать (по умолчанию все эти параметры должны быть «у вас нет разрешения»), вы, скорее всего, получите больше пользователей, которые готовы доверять вам ипредоставить вам более качественную информацию.Для тех, кто не хочет раскрывать какую-либо личную информацию о себе, не тратьте свое время на попытки ее получить, потому что многие из них предпринимают шаги, чтобы предотвратить это и все равно спрятаться (и это их право).

6 голосов
/ 25 декабря 2014

Получить всю информацию о машине клиента с помощью этого небольшого PHP:

<?php
foreach($_SERVER as $key => $value){
echo '$_SERVER["'.$key.'"] = '.$value."<br />";
}
?>
6 голосов
/ 25 мая 2011

Список доступных для PHP найден здесь .

Если вам нужно больше подробностей, вы можете рассмотреть возможность использования Browserhawk .

4 голосов
/ 26 мая 2011

Для чего?

Помните, что IP-адрес клиента сейчас близок к бессмысленному.Все пользователи, приходящие с одного и того же прокси-сервера или с одной и той же точки NAT, будут иметь один и тот же IP-адрес клиента.Проходят годы, весь трафик AOL поступает только от нескольких прокси-серверов, хотя теперь прокси-серверы могут превзойти по численности реальных пользователей AOL :).

Если вы хотите однозначно идентифицировать пользователя, легко создать cookie в apache (mod_usertrack) или любой другой платформе, которую вы используете.Если человек блокирует куки-файлы, соблюдайте их и не пытайтесь их обманывать.Или возьмите урок Google, сделайте его таким полезным, люди будут выбирать утилиту вместо забот о cookie.

Помните, что Javascript работает на клиенте.Ваш document.write () покажет информацию на их веб-странице, но ничего не сделает для вашего сервера.Вы хотите использовать Javascript, чтобы поместить эту информацию в файл cookie, или хранить с отправкой формы, если у вас есть какие-либо формы.

1 голос
/ 29 марта 2017
phpinfo(32);

Печать таблицы со всей извлекаемой информацией.Вы можете просто скопировать и вставить переменные прямо в ваш php-код.

например:

_SERVER["GEOIP_COUNTRY_CODE"]   AT

будет в php-коде:

echo $_SERVER["GEOIP_COUNTRY_CODE"];
0 голосов
/ 28 апреля 2019

Мне нравится использовать что-то вроде этого:

$log = array(
  'ip' => $_SERVER['REMOTE_ADDR'],
  're' => $_SERVER['HTTP_REFERER'],
  'ag' => $_SERVER['HTTP_USER_AGENT'],
  'ts' => date("Y-m-d h:i:s",time())
);

echo json_encode($log);

Вы можете сохранить эту строку в файле, JSON довольно маленький и занимает всего одну строку.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...