Githance/testing

На странице регистрации поле "Электронная почта" проходит валидацию с буквами отличными от латиницы после символа @ и до точки

Closed this issue · 10 comments

eiiao commented

Описание:

Регистрация проходит, если в поле "Электронная почта" на странице регистрации указать в адресе электронной почты не латинские буквы справа после @ и до точки перед доменом.
Пример: nnn@ната.ru, nnn@مولود.ru.
При этом в админке в адресе электронной почты вместо букв не латинского алфавита подставляется другая комбинация из букв латинского алфавита, символов и цифр - nnn@xn--80aa1bv.ru

Шаги воспроизведения:

Открыть страницу регистрации https://dev.githance.com/auth/registration
Ввести в поле емайл: nnn@ната.ru
Нажать кнопку Зарегистрироваться.

Ожидаемый результат:

Поле подсвечивается красным, появляется сообщение "Введите правильный адрес электронной почты"

Фактический результат:

Проходит регистрация открывается страница письмо отправлено, в админке есть запись, при этом вместо букв не латинского алфавита поставляется другая комбинация из бук латинского алфавита, символов и цифр - nnn@xn--80aa1bv.ru

Окружение:

windows 10 х64, Яндекс.Браузер 22.11 разрешение экрана 1366x768, Chrome 107 разрешение экрана 1920x1080, Safari разрешение экрана 1536x864, Opera 1280x720

Дополнительная информация:

Image
Image

@eiiao Скрины можно просто вставлять через Ctrl+V.
Если хочется, чтобы они не загромождали репорт, то можно под под кат.

Скрины

image

Делается так:

<details>
  <summary>Скрины</summary>

![image](https://user-images.githubusercontent.com/80767090/228063912-5d5a1be5-ec8d-474f-955c-e3077456ae49.png)

</details>

Дубликат:

eiiao commented

@Ridmel , Рома, привет! Спасибо за инструкцию про вставку скрин. Про дубликат не совсем так. В репорте Олега речь о проверке валидации домена электронной почты , т.е. символов в email после точки em@ail.ru, в данной проверке речь о валидации после знака @ и до точки em@ail.ru.

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

eiiao commented

@eiiao Ясно. Просто с точки зрения бэкенда это один и тот же случай, только описанный разными словами. Поэтому я на самый последний повесил лейбел дубликат.
@Ridmel , поняла , спасибо!

Исправлено в PR:

eiiao commented

@Ridmel , Рома, проверила регистрацию на двух адресах - nnn@натааа.ru и nnn123@مولود.ru , оба адреса прошли валидацию , в БД создалась запись.

Image

image

В общем, это на стороне фронта, а точнее именно самого браузера, происходит. Браузер конвертирует части почты, в которых присутствуют не ASCII символы, в punycode. А предыдущим фиксом я закрыл валидацию на бэкенде всех символов, кроме ASCII, но так как он шлет шлет punycode, т.е. имена перекодированные в ASCII, то валидация проходила и пользователь создавался. Поправлю.

С 3 попытки.
Исправлено в PR:

eiiao commented

@Ridmel, починилось! Закрываю задачу