У меня есть приложение, в котором несколько пользователей создают учетные записи, объединяющие имя приложения. Это создаст проблемы с входом в систему и восстановлением прохода, если пользователь забудет, что он добавил после знака плюс (+). Скорее всего, адрес электронной почты не зарегистрирован или аккаунт не найден.
Я думаю об использовании этого фрагмента, который всегда удалит все между + и @, но я не уверен, что это правильный способ справиться с этой ситуацией.
text = '[email protected]'
sep = '+'
at = '@'
first= text.split(sep, 1)[0]
second= text.split(at, 1)[1]
print first+at+second
Зачем ты вообще это делаешь? Разве пользователю не нужно помнить свое имя для входа?
@Sraw Я не думаю, что ограничение использования + - это хорошо, поскольку это допустимый символ для спецификации электронной почты.
@anvd Значит, ваше решение плохое :( Вы не должны использовать "+" в качестве знака конкатенации, потому что он может появиться в имени пользователя. Почему бы не выбрать другое?
@Sraw Я думаю, это недоразумение. Я не использую "+", пользователи. Текст - это всего лишь демонстрация, введенная пользователями.
@JohnGordon Я согласен, однако для небольшой базы пользователей превращение каждой учетной записи в восстанавливаемую, с моей точки зрения, актуально.
Я не совсем понимаю твой вопрос. «+» - допустимый символ в адресе электронной почты. Если ваши пользователи не зарегистрировали адрес электронной почты или забыли его, разве это не их проблема? Вы можете помочь избежать первого, если ваше приложение отправит им электронное письмо с подтверждением для проверки их адреса электронной почты, заставив их щелкнуть ссылку в электронном письме, прежде чем позволить им завершить регистрацию, что делают многие службы. Однако вы мало что можете сделать, чтобы помочь им, если они забыли электронную почту.
@ ag415 Проблема в том, что вы можете зарегистрировать [email protected], а через две недели вы не можете выполнить вход или восстановить учетную запись, потому что вы помните только [email protected]
Ok. Но разве это не вина пользователя за то, что он не запомнил свою электронную почту? Я имею в виду, вы могли бы реализовать что-то, где вы могли бы позволить пользователю выполнять частичный поиск своего адреса электронной почты, но тогда это создает серьезную уязвимость в вашей системе, которая позволяет любому случайному человеку искать зарегистрированные электронные письма.






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