Восстановить пароль и логин при использовании писем с составными словами

У меня есть приложение, в котором несколько пользователей создают учетные записи, объединяющие имя приложения. Это создаст проблемы с входом в систему и восстановлением прохода, если пользователь забудет, что он добавил после знака плюс (+). Скорее всего, адрес электронной почты не зарегистрирован или аккаунт не найден.

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

text = '[email protected]'
sep = '+'
at = '@'
first= text.split(sep, 1)[0]
second= text.split(at, 1)[1]

print first+at+second

Разве это не зависит от того, как вы ограничиваете имя пользователя и имя приложения? Допустим, если вы ограничиваете использование символов «@» и «+» в имени пользователя и имени приложения, то все в порядке.

Sraw 28.09.2018 03:10

Зачем ты вообще это делаешь? Разве пользователю не нужно помнить свое имя для входа?

John Gordon 28.09.2018 03:14

@Sraw Я не думаю, что ограничение использования + - это хорошо, поскольку это допустимый символ для спецификации электронной почты.

anvd 28.09.2018 03:16

@anvd Значит, ваше решение плохое :( Вы не должны использовать "+" в качестве знака конкатенации, потому что он может появиться в имени пользователя. Почему бы не выбрать другое?

Sraw 28.09.2018 03:18

@Sraw Я думаю, это недоразумение. Я не использую "+", пользователи. Текст - это всего лишь демонстрация, введенная пользователями.

anvd 28.09.2018 03:20

@JohnGordon Я согласен, однако для небольшой базы пользователей превращение каждой учетной записи в восстанавливаемую, с моей точки зрения, актуально.

anvd 28.09.2018 03:23

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

ag415 28.09.2018 03:26

@ ag415 Проблема в том, что вы можете зарегистрировать [email protected], а через две недели вы не можете выполнить вход или восстановить учетную запись, потому что вы помните только [email protected]

anvd 28.09.2018 03:30

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

ag415 28.09.2018 03:32
Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Некоторые методы, о которых вы не знали, что они существуют в Python
Некоторые методы, о которых вы не знали, что они существуют в Python
Python - самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science,...
Основы Python Часть I
Основы Python Часть I
Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
Оптимизация кода с помощью тернарного оператора Python
Оптимизация кода с помощью тернарного оператора Python
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это
Советы по эффективной веб-разработке с помощью Python
Советы по эффективной веб-разработке с помощью Python
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
0
9
43
0

Другие вопросы по теме