Как обнаружить, если пользователь соединяется от распознанного компьютера?

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

Например, вот сообщение, что Salesforce.com дает, когда я соединяюсь со своей учетной записью от нераспознанной машины:

Activate Required image, computer not recognized

Мы пытаемся сделать тот же тип вещи из одного из наших приложений, но не уверены в лучшем (и самый безопасный) подход.

5
задан Beep beep 7 February 2010 в 20:35
поделиться

6 ответов

HAML/SASS действительно может быть внушительно использовать, но они действительно вводят зависимости как технические, так и ориентированные на знания. Это не может быть проблемой, если ваши среды разработки и разработки достаточно управляемы и предсказуемы, когда новички получают достаточное обучение (или проверяются на предмет знаний на пути в организацию), чтобы попасть на землю, но все это накладно для подтверждения.

-121--1732690-

Удалите ветвь, а затем извлеките обе ветви из удаленного репозитория.

git branch -D BUG_37
git pull origin master
git pull origin BUG_37:BUG_37

Если вы не хотите удалять локальную ветвь BUG_37, прежде чем убедиться, что это сработает, переместите удаленную ветвь в другую локальную ветвь:

git pull origin BUG_37:NEW_BUG_37
-121--3147217-

Существует много возможных подходов для этого, но обычно они используют некоторую комбинацию из следующего:

  • Диапазон IP-адресов, который вы подключаете с
  • вашего имени хоста
  • : наличие файлов cookie на вашем компьютере, оставленных сайтом после успешной проверки подлинности
  • последовательности «пользователь-агент»

Если у вас слишком много отличий от одного из существующих доверенных подключений, компьютер считается ненадежным. Где линия проводится для «слишком много» - это компромисс между безопасностью и удобством.

3
ответ дан 13 December 2019 в 19:27
поделиться

По-настоящему безопасного подхода не существует, вы можете сделать это на основе IP-адреса, но это часто бывает динамическим, вы можете сделать это с помощью файлов cookie, но они далеко небезопасно, вы можете сделать это на MAC-адресе, но вам нужно будет использовать Java (IIRC) для доступа к нему, но это снова может быть подделано ...

Нет реального способа проверить, есть ли компьютер, на котором они ' повторное подключение из когда-либо подключалось раньше. Вы, вероятно, сможете найти «хаки», чтобы сделать это, но это никогда не будет безопасным.

2
ответ дан 13 December 2019 в 19:27
поделиться

Вы можете настроить файл cookie на компьютере пользователя, а затем проверить, существует ли этот файл cookie и содержит ли оно правильное значение. Если cookie не существует, значит этот компьютер новый , в противном случае этот компьютер уже был здесь раньше.

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

2
ответ дан 13 December 2019 в 19:27
поделиться

Фонд Electronic Frontier Foundation (EFF) создал демонстрационный веб-сайт, демонстрирующий, насколько поразительно легко идентифицировать браузер, даже если файлы cookie отключены или вы подключаетесь с другого IP-адреса / провайдера:

Panopticlick: Насколько уникален - и отслеживаем ли ваш браузер

Они используют комбинацию

  • Строка пользовательского агента
  • HTTP-заголовков
  • Установленные надстройки браузера
  • Часовой пояс
  • Размер и цвет экрана разрешение
  • Системные шрифты
  • Настройки файлов cookie

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

2
ответ дан 13 December 2019 в 19:27
поделиться

Самым безопасным подходом, несомненно, является выдача клиентских сертификатов, и пусть сервер проверит сертификаты при соединении (убедитесь и используйте список отзывов!). Это связано с большими административными расходами, но работает.

2
ответ дан 13 December 2019 в 19:27
поделиться

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

Прочтите это еще раз: вы можете попытаться очистить свою историю, переключить браузеры или даже использовать режим «инкогнито» в Chrome, и файлы cookie Flash по-прежнему будут помнить, кто вы. Они привязаны к установке Flash, а не к браузеру.

У Wired есть статья о них здесь: http://www.wired.com/epicenter/2009/08/you-deleted-your-cookies-think-again/

Несмотря на предупреждение Wired о флеш-куки-файлах, они сами используют флеш-куки для отслеживания посетителей. Иди разберись.

В Flash они называются «SharedObjects». Подробнее о том, как их использовать, можно узнать здесь: Как мне получить доступ к файлам cookie во Flash?

0
ответ дан 13 December 2019 в 19:27
поделиться
Другие вопросы по тегам:

Похожие вопросы: