.netcore, Razor, регистрация устройства в www - PullRequest
1 голос
/ 12 января 2020

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

Я хотел бы достичь чего-то похожего на Office 365 или на некоторых банковских сайтах. Пользователь может зарегистрировать свое устройство (первая регистрация устройства будет выполняться автоматически), а также заблокировать / удалить свое устройство. Итак, есть ли надежный алгоритм или готовое решение для достижения этой цели?

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

Ответы [ 2 ]

1 голос
/ 18 января 2020

Одним из вариантов может быть использование Evercook ie. Создайте уникальный идентификатор с вашим собственным алгоритмом для устройства и сохраните его с Evercook ie.

Evercook ie - это API Javascript, который генерирует чрезвычайно постоянные файлы cookie в браузере. Его цель - идентифицировать клиента даже после того, как он удалил стандартные файлы cookie, файлы Fla sh (локальные общие объекты или LSO) и др.

Это достигается путем сохранения данных повара ie в как можно больше механизмов хранения в браузере. Если данные cook ie удаляются из любого механизма хранения, evercook ie агрессивно воссоздает их в каждом механизме, пока один из них не поврежден.

Если Fla sh LSO, Silverlight или доступен механизм Java, Evercook ie может даже распространять файлы cookie между различными браузерами на одном клиентском компьютере!

Клиентские браузеры должны поддерживать как можно больше следующих механизмов хранения для Evercook ie для вступления в силу.

ИСПОЛЬЗОВАНИЕ:

<script type="text/javascript" src="evercookie.js"></script>

<script>
var ec = new evercookie(); 

// set a cookie "id" to "12345"
// usage: ec.set(key, value)
ec.set("id", "12345"); 

// retrieve a cookie called "id" (simply)
ec.get("id", function(value) { alert("Cookie value is " + value) }); 

// or use a more advanced callback function for getting our cookie
// the cookie value is the first param
// an object containing the different storage methods
// and returned cookie values is the second parameter
function getCookie(best_candidate, all_candidates)
{
    alert("The retrieved cookie is: " + best_candidate + "\n" +
        "You can see what each storage mechanism returned " +
        "by looping through the all_candidates object.");

    for (var item in all_candidates)
        document.write("Storage mechanism " + item +
            " returned: " + all_candidates[item] + "<br>");
}
ec.get("id", getCookie); 

// we look for "candidates" based off the number of "cookies" that
// come back matching since it's possible for mismatching cookies.
// the best candidate is most likely the correct one
</script> 

Прочтите этот пост, чтобы увидеть , как это работает .

1 голос
/ 18 января 2020

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

Как обсуждено здесь , это не совсем безопасно, так как куки могут быть украдены.

Ответ Скотта Аркишевского здесь описывает более безопасный подход, который использует куки, которые могут включать дактилоскопию вас Написал, что вы уже знаете о.

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

...