Как я могу отличить пользователей, кроме как через IP-адрес для приложения «чат»? - PullRequest
0 голосов
/ 13 февраля 2011

Я пишу в php, jQuery и AJAX для создания приложения для shoutbox.До сих пор я записываю разных пользователей по их IP-адресам, чтобы назначать разные имена пользователей по умолчанию и сохранять выбранные пользователем имена пользователей в соответствии с их соответствующим IP-адресом.(чат не основан на входе в систему и назначает автоматическое гостевое имя пользователя при первом входе в систему при посещении веб-сайта, и пользователь может изменить это гостевое имя пользователя по умолчанию на другое)люди из одной и той же сети, использующие один и тот же IP-адрес, мой чат не сможет различить пользователей на разных компьютерах.Есть ли способ различать IP-адреса в одной сети?Или, если я использую сеанс PHP или cookie, это тоже решит проблему?Главное, я хочу иметь возможность хранить созданные пользователем имена пользователей на соответствующих компьютерах, чтобы пользователю не было предоставлено имя гостя по умолчанию в следующий раз, когда он или она посетит мою веб-страницу.

Ответы [ 3 ]

2 голосов
/ 13 февраля 2011
  1. Проверьте заголовок HTTP для «X-FORWARDED-FOR», который устанавливается прокси-серверами брандмауэра, чтобы идентифицировать IP-адрес человека на другой стороне. http://en.wikipedia.org/wiki/X-Forwarded-For

  2. Проверьте наличие определенного куки на своем компьютере, и если его нет, значит, это другой пользователь (хотя, конечно, они, возможно, только что удалили свои куки)

2 голосов
/ 13 февраля 2011

Вы можете назначить идентификатор каждому IP-адресу.Таким образом, первый человек будет назначен id = 1.Второй с тем же ip-адресом, id = 2 и т. Д.

1 голос
/ 13 февраля 2011

Да, вы можете написать свои имена пользователей в куки.Таким образом, они будут подключаться с тем же именем пользователя, пока не истечет срок действия их файлов cookie, или они переустановят свой браузер (или ОС), или очистят данные браузера, или просто будут использовать другой компьютер.

Или, если все в порядкеИмена пользователей в базе данных также могут отличать пользователей по IP-адресу плюс некоторые заголовки от браузеров (например, пользовательский агент).Конечно, в этом случае имя пользователя остается неизменным, пока пользователь не обновит или не перенастроит браузер или не использует другой браузер или другой компьютер.Или, если его или ее IP-адрес меняется (многие интернет-провайдеры используют динамические IP-адреса, а также пользователь может подключиться из кафе, например, через Wi-Fi)

Вы также можете комбинировать эти способы.Например, сохраните имя пользователя в файлах cookie и одновременно сохраните то же имя пользователя на сервере с IP-адресом и пользовательским агентом.Если файл cookie доступен, используйте имя пользователя из файла cookie.Если это не так, попробуйте восстановить имя пользователя человека из базы данных, используя его IP и пользовательский агент.Даже если это не так и вы указали неправильное имя пользователя, пользователь все равно может изменить его на правильное.

...