Каков наилучший способ создания «отпечатка пальца» уникальности пользователя в PHP?
Например:
В идеале, отпечаток пальца так маркирует «машину», а не браузер или «ip», но я не могу придумать, как это возможно.
Открыты идеи / предложения о том, как вы однозначно идентифицируете своих пользователей и какие преимущества / недостатки у вашего метода есть.
Этот сайт охватывает почти всю информацию, которую вы можете использовать, чтобы отличать людей через браузер.
JavaScript, Java и Flash помогают.
самый простой и лучший способ: использовать phs session-management – каждому клиенту предоставляется идентификатор, хранящийся в файле cookie (если он включен) или задан как переменная get для каждой ссылки и формы. (альтернативно, вы можете настроить cookie самостоятельно). но: это только «отпечатки пальцев» браузера – если пользователь меняет свой браузер, удаляет свои файлы cookie или что-то еще, вы больше не можете его идентифицировать.
идентификация каждого клиента с помощью ip обычно плохой идеей и не будет работать. клиенты, которые используют один и тот же маршрутизатор, будут иметь одинаковые ip-клиенты, подключенные через прокси-пул, могут иметь другой ip с каждой загрузкой на страницу.
если вам нужно решение, которое не может легко манипулировать клиентом, попробуйте сделать комбинацию из следующего, используя все, что поддерживается браузером клиентов, и сравнить их при каждой загрузке страницы:
есть решение, называемое evercookie, которое реализует все это
Достижение 100% -ной надежности не гарантируется, но объединение некоторых распространенных методов может дать вам значимые результаты
Возьмите простейший возможный маршрут, который может работать и настраиваться со временем, если это представляется необходимым.
Есть что-то еще, что нужно учитывать, публичный IP-адрес пользователя – это то, что также может меняться при каждой загрузке страницы.
Существует несколько организаций, которые переключают публичные IP-адреса в маршрутизаторах для балансирования трафика.
У меня три разных компьютера, разные карманные устройства, и многие из них имеют разные браузеры. Я использую все эти взаимозаменяемо дома, беру их со мной в других местах, поэтому, в основном, на различные IP-адреса. То, что я пытаюсь указать, заключается в том, что отпечаток пальца браузера или машины, если на то пошло, никогда не будет безупречным, если ваша цель – заблокировать человека.
Я рекомендую вам использовать другой подход. Судья, основанный на имеющейся у вас неубедительной информации, которая предлагает личность вашего запрещенного пользователя (одного и того же IP-адреса или того же самого пользователя-агента, если он необычный, или некоторые из методов отпечатки пальца браузера javascript, такие как доступные шрифты, доступные плагины, нестандартные размер окна и т. д.) и требовать от этих подозрительных посетителей более высокой формы проверки личности – например, oauth с Facebook, Google+ или Twitter. Затем вы можете посмотреть, действительно ли эта учетная запись в социальных сетях является подлинной или созданной только для того, чтобы обойти. Существуют также API-интерфейсы проверки телефона, если ваша пользовательская база не ориентирована на социальные сети, и в зависимости от того, насколько важно для вас, чтобы пользователи не обошли запрет.