Если ваш логин URL:
http://example.com/login/a1b2c3d5e6
тогда я бы не стал беспокоиться о последней части, а о первой - http. Если ваши пользователи посещают ваш URL из-за небезопасного http, то, как бы ни было сложно догадаться, вы это сделаете, всегда будет легко подслушать. Используйте https для любого типа аутентифицированных соединений.
Также вы не объяснили, что у вас будет на этом URL. Я надеюсь, что вы собираетесь использовать его в качестве дополнительной меры предосторожности вместе с другими формами аутентификации, а не вместо других форм аутентификации.
С учетом вышесказанного, я думаю, что если ваша идея заключается в том, чтобы ваша обычная форма для входа в систему с именем пользователя / паролем работала только в том случае, если в URL доступен правильный токен, то это может только укрепить безопасность системы, а не ослабить ее. Это своего рода мера безопасности, которая работает как дополнительный слой лука - даже слабый слой только сделает лук сильнее, даже если не намного сильнее. Только не используйте его вместо какой-либо другой формы аутентификации. И не будьте слишком полезны при неудачном входе в систему, например. Ваше приложение никогда не должно сообщать, что URL является неправильным, пока оно не будет правильным, а затем говорить, что пароль неверный и т. д. У вас должно быть только одно общее сообщение об ошибке по любой причине неудачной аутентификации.
Теперь о длине токена 10 символов кажется разумным. Просто убедитесь, что он действительно случайный или криптографически сильный хеш с уникальным значением, таким как имя пользователя и какое-то секретное значение. Для этого вы можете использовать HMAC , если хотите получить готовое решение. Если вы используете HMAC-SHA1, то вы получите 20 байтов за каждый токен. Это 40 шестнадцатеричных цифр, из которых вы можете использовать только первые 10 или 20 или что угодно, или вы можете закодировать его как некоторую форму Base64 или Base32 или что-то еще.
Имейте в виду, что этот токен должен быть изменяемым, и у вас должен быть механизм, напоминающий о нем тому, кто его забудет.
Если вы рассмотрите все это, тогда я не вижу вреда в использовании его в качестве дополнительного механизма аутентификации.