Статей таких не знаю, но вот мои размышления:
У 1 пользователя не так много мест, откуда он мог бы заходить на ресурс N, их примерно 3 (дом / работа / плашнет, мобильный телефон). Соответственно фиксировать эти 3 места и если пользователь пытается зайти с другого места, то запрещать вход, без протекции по E-mail, телефону.
Так же современные браузеры поддерживают local.storage туда записывать какое-то уникальное значение и проверять его, в случае не совпадения блокировать авторизацию.