Warning: Undefined array key 0 in /var/www/tgoop/function.php on line 65

Warning: Trying to access array offset on value of type null in /var/www/tgoop/function.php on line 65
773 - Telegram Web
Telegram Web
Кому хочется поржать
next.js и уязвимость.
https://nvd.nist.gov/vuln/detail/CVE-2025-29927
😁7🔥1
As For JS - Talks
Приветствую, подскажите пожалуйста насчет валидации Email. Помню вы неоднократно обращали внимание на кривые RegExp-ы которые проверяют Email на корректность. Можете ли подсказать где посмотреть корректный, заранее спасибо
О валидации email адреса.

Короткий ответ
При помощи одного регулярного выражения, провести валидацию EMail, в соответствии с текущим стандартом RFC - невозможно.

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

Исключение PCRE регулярные выражения, которых нет в JS.


Длинный ответ или, а что делать
Сначала спросить себя - а зачем мне это надо?

Ответов может быть два:
1) я пишу свой smtp севрер
2) я решаю задачу, которая связанна с например фронтендом, где я хочу уберечь пользователя от ошибок при вводе емаил.

В случае 1 - у Вас нет выбора. Вы обязаны реализовывать всю спецификацию RFC для EMail адресов.
Замечу, что даже сейчас не все сервера это умеют делать.

В случае 2 - стандартным решением сейчас является:
либо использование html5 input type email

либо использование какого либо очень простого алгоритма, который покрывает большинство кейсов связанных с типичными ошибками пользователя. Например просто на наличие символа @ в строке. Или на набор типичных опечаток - в конце строки есть gmail а точки перед ним нет. Где-то есть даже такой проект с набором типичных очепаток.

После чего на серверной части происходит отправка письма, на частично валидированный EMail.

Те кто хочет большей интерактивности, на сервере делает запрос к SMTP серверу формируя отправку и на момент передачи адреса контролируют ответ, который может содержать сообщение о ошибке. Чего достаточно для того чтобы вернуть ответ о невалидном EMail.


Другим способом является какой нибудь элемент интереактивности, который требует повтого ввода email. С запретом на копи пейст и последующим сравнением обоих строк.



О чем следует помнить
1) Валидация EMail согласно современному RFC чрезвычайно сложный не тривиальный механизм.

2) Адрес может содержать практически все символы стандарта UNICODE в том числе и региональные (иероглифы, быть написаным справа налево и т.д.)

3) Не нужно делать лишнюю работу, когда это уже сделали за вас (работающий smtp сервер). Пользуйтесь им, если Вам нужна максимальная интерактивность. Реализация протокола взаимодействия с SMTP сервером очень простая задача.

4) Познакомьтесь с input type email


Вместо ИГОГО
Если задача валидации продиктована необходимостью взаимодейтсвовать с пользователем, то наиболее корректным и простым решением является - самый простой из возможной алгоритмов контроля введенной информации на клиенте, которая реагирует вопросм - проверьте все ли корректно и если уверены - нажмите да.

Плюс отправка письма с этим "частично валидированным" EMail

Для максимальной интерактивности, серверная часть, взаимодейтсвует с SMTP сервером формируя фейковую отправку и на этапе отправке адресата контролирует корректность ответа. SMTP сервер может быть настроен таким образом что он ничего не ответит а примет любой адрес. Но чаще всего есть ответ о корректности, особенно если это локальный SMTP сервер.

Либо мониторим логи SMTP сервера на предмет лупбека от внешнего сервера с ошибкой.
При этом прямое взаимодейтсвие с SMTP сервером потребует много меньше ресурсов.
👍363🙏2🔥1
Если уж программист - єто тот, кто может написать программу, стало быть оратором становится каждый, кто может орать?
😁36💯105🔥3👌3
Кому нечем заняться.

Хотите разобраться в чем разница между архитектором и программистом?
Подумайте над следующей задачей:

Напишите/придумайте алгоритм/код, который бы генерировал регистрационный код нашего бесполезного приложения.

Код будет напечатан на коробке и пользователь должен будет ввести его руками в момент первого запуска.

Длина кода не менее 12 символов.
Все остальное на ваше усмотрение.

Через несколько дней разберем решения и выберем самое правильное.

Будет приз.

пример кода: 26398462873648726DSFGSD95674098
Отправлять решения можно мне, а можно сюда
https://docs.google.com/forms/d/e/1FAIpQLSeSZr4-OheZVDxH3zwt1PuAdlDkvENV_auFxbdIAfsSL3FFwg/viewform?usp=dialog
👍6
Як ви вважаєте, якщо я вже зміг зварити воду, чи є в мене шанс щодо мішленовського повору? Йо?
😁27👍4👎3💯2
сегодня, впервые за 5 лет, туча сидел у меня на руках
😍5025🔥7👍5❤‍🔥4🤯2🕊1
This media is not supported in your browser
VIEW IN TELEGRAM
❤‍🔥3612👍3😍1
33❤‍🔥9😍2🔥1
Кому нечем заняться

Что нужно добавить в код
// добавить
[... 3.14];

чтобы результат оказался
["z", "d", "e", "c"];
😁22👍1
11👍6❤‍🔥2😁2
Иорин 200.
ты у меня пятый.

господи боже, когда же вы уже нажретесь людоеды.

сдохните все вместе со всеми своими семьями.

https://youtu.be/-2bwNo7zV44?si=GTZSYtktMQgDVR-E
🕊20👎9💯6🙏3😍3💔32😁2👍1
This media is not supported in your browser
VIEW IN TELEGRAM
Сумы. Центр города.
Уже 30 человек убитыми.
около 100 раненых.
Я гражданам рф очень рекомендую к просмотру таких видео хотя бы раз в неделю. Помогает стать человеком.
💔96👍7🤯7👎5🕊3😁2🙏2
Туча опять один.
💔6215❤‍🔥3
2025/07/14 10:48:34
Back to Top
HTML Embed Code: