1. PHP / Говнокод #24296

    0

    1. 1
    if(!preg_match('/^(("[\w-\s]+")|([\w-]+(?:\.[\w-]+)*)|("[\w-\s]+")([\w-]+(?:\.[\w-]+)*))(@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$)|(@\[?((25[0-5]\.|2[0-4][0-9]\.|1[0-9]{2}\.|[0-9]{1,2}\.))((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\.){2}(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\]?$)/i', $email)){

    Запостил: dm_fomenok, 20 Мая 2018

    Комментарии (103) RSS

    • Проверка емаил? Она хоть работает?

      > (("[\w-\s]+")|([\w-]+(?:\.[\w-]+)*)|("[\w-\s]+")([\w-]+(?:\.[\w-]+)*))
      Эту часть можно заменить на:
      (("[\w-\s]+")?([\w-]+(?:\.[\w-]+)*))
      или нет?
      Дальше лень разбирать.
      Ответить
    • > (@\[?((25[0-5]\.|2[0-4][0-9]\.|1[0-9]{2}\.|[0-9]{1,2}\.))((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\.){2}(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\]?$)
      Вот, кстати, хоть где-нибудь IP-адрес в почтовом адресе считается правильным? Хотя по rfc822 так можно. Для почты обязательно надо иметь домен?
      Ответить
      • показать все, что скрытоvanished
        Ответить
        • Кому нахуй нужен sendmail? Яндекс, гмаил, и самое главное говнокод, считают такой адрес неправильным, и не хотят на него ничего слать.
          Ответить
          • А ещё есть проблема с IPv6-адресами в ссылках.

            Адреса вида http://[1234:5678:9abc::def0]/ поддерживают далеко не все программы. А уж указать интерфейс для всяких link-local/site-local и вовсе невозможно (на сайте «Microsoft» указано, что номер интерфейса должен отделяться от IPv6-адреса знаком процента, но их же «Интернет Эксплорер» не поддерживает такой синтаксис).
            Ответить
      • показать все, что скрытоvanished
        Ответить
        • В реальной жизни почтовые сервера хотят, чтобы у тебя был домен, чтобы у домена была запись типа MX, чтобы у айпишника домена была PTR-запись (ну чтобы подтвердить, что айпишник не динамический и что ты айпишником владеешь). Особо привередливые ещё хотят SPF и DKIM.

          А как просто всё начиналось... Когда-то можно было почту отправлять, не логинясь, и почтовые сервера верили, что это твой ящик.
          Ответить
          • показать все, что скрытоvanished
            Ответить
            • Я только получать собирался.
              Ответить
            • >> pop before smtp

              Фу, блядь, фу, нахуй! В случае динамического IP или NAT сосед может аутентифицироваться за тебя.

              Этот грязный хак где-нибудь, кроме RFC, вообще использовался?
              Ответить
            • >> Еще в середине нулевых не было нормального SMTP AUTH/SASL,

              «Яндекс», «Рамблер», «Почта.ру», «Mail.ru», «Yahoo» уже в начале нулевых требовали SMTP AUTH.
              Ответить
            • >> при наличии соответствующей политики в DMARC

              Я так и не понял, зачем нужен DMARC и что им можно описать. Правила описываются в SPF, подтверждение подлинности в DKIM. А в DMARC ты можешь только написать, что у тебя есть SPF и DKIM, но нафига это описывать, если это и так можно узнать?
              Ответить
              • показать все, что скрытоvanished
                Ответить
                • А можно попросить пропускать?
                  Ответить
                  • показать все, что скрытоvanished
                    Ответить
                    • А что мешает спамеру зарегать себе домен, прописать ключи и айпишки своего ботнета и рассылать с них?
                      Ответить
                      • Ничего не мешает, кроме риска попадания в RBL.

                        DKIM/SPF не дадут спамеру подписаться другим доменом.
                        Ответить
                      • показать все, что скрытоvanished
                        Ответить
                        • Пошёл регистрировать gmai1.com и grnail.com.

                          P.S. Опоздал. grnail.com уже в руках киберсквоттеров.
                          Ответить
                          • показать все, что скрытоvanished
                            Ответить
                            • grnail.com дорого обойдётся. Проверь.
                              Ответить
                              • Его не нужно покупать. Если у него нет SPF, то ты можешь вписать «[email protected]» в поле «From», даже не владея доменом.

                                А чтобы получить ответ, в Reply-To пишешь свой реальный адрес.
                                Ответить
                                • А что мешает вписать [email protected]?
                                  Ответить
                                  • Получатель слазит на gmail.com, а там:
                                    gmail.com.		6310	IN	NS	ns3.google.com.
                                    gmail.com.		234	IN	MX	40 alt4.gmail-smtp-in.l.google.com.
                                    gmail.com.		234	IN	MX	10 alt1.gmail-smtp-in.l.google.com.
                                    gmail.com.		6310	IN	NS	ns1.google.com.
                                    gmail.com.		234	IN	MX	20 alt2.gmail-smtp-in.l.google.com.
                                    gmail.com.		279	IN	TXT	"v=spf1 redirect=_spf.google.com"
                                    gmail.com.		279	IN	TXT	"globalsign-smime-dv=CDYX+XFHUw2wml6/Gb8+59BsH31KzUr6c1l2BPvqKX8="
                                    gmail.com.		64	IN	A	173.194.44.53
                                    gmail.com.		234	IN	MX	30 alt3.gmail-smtp-in.l.google.com.
                                    gmail.com.		234	IN	MX	5 gmail-smtp-in.l.google.com.
                                    gmail.com.		100	IN	AAAA	2a00:1450:4011:80b::1015
                                    gmail.com.		6310	IN	NS	ns4.google.com.
                                    gmail.com.		64	IN	A	173.194.44.54
                                    gmail.com.		6310	IN	NS	ns2.google.com.


                                    Заметит запись «TXT "v=spf1 redirect=_spf.google.com"» и проверит _spf.google.com, а там:
                                    _spf.google.com.	216	IN	TXT	"v=spf1 include:_netblocks.google.com include:_netblocks2.google.com include:_netblocks3.google.com ~all"

                                    Это означает, что принимать почту от @gmail.com можно только с айпишников, перечисленных в _netblocks.google.com, _netblocks2.google.com, _netblocks3.google.com, а all, не перечисленных в этих трёх списках, посылать куда подальше.
                                    Ответить
                                    • P.S. Вот эти блоки:
                                      _netblocks.google.com.	2657	IN	TXT	"v=spf1 ip4:35.190.247.0/24 ip4:64.233.160.0/19 ip4:66.102.0.0/20 ip4:66.249.80.0/20 ip4:72.14.192.0/18 ip4:74.125.0.0/16 ip4:108.177.8.0/21 ip4:173.194.0.0/16 ip4:209.85.128.0/17 ip4:216.58.192.0/19 ip4:216.239.32.0/19 ~all"
                                      _netblocks2.google.com.	458	IN	TXT	"v=spf1 ip6:2001:4860:4000::/36 ip6:2404:6800:4000::/36 ip6:2607:f8b0:4000::/36 ip6:2800:3f0:4000::/36 ip6:2a00:1450:4000::/36 ip6:2c0f:fb50:4000::/36 ~all"
                                      _netblocks3.google.com.	3600	IN	TXT	"v=spf1 ip4:172.217.0.0/19 ip4:172.217.32.0/20 ip4:172.217.128.0/19 ip4:172.217.160.0/20 ip4:172.217.192.0/19 ip4:108.177.96.0/19 ip4:35.191.0.0/16 ip4:130.211.0.0/22 ~all"
                                      Ответить
                                      • А у grnail.com в настоящий момент SPF нет, проверь. У него есть только CNAME, редиректящее на AWS, а у той самой записи в AWS есть только A, т. е. IPv4-адрес.
                                        Ответить
                                      • показать все, что скрытоvanished
                                        Ответить
                                        • Есть "Tox".
                                          Ответить
                                          • Почитаем про «Tox»:
                                            • Регистрация не требуется, пара ключей (открытый + секретный) хранится локально (если я правильно понял, аналогично «SSH»).
                                            • Голос, видео, файлы, конференции.
                                            • Базовая реализация опенсорсная.

                                            Пока из описания не понял, насколько сеть децентрализована.

                                            P.S. Всё-таки похоже, что децентрализована:
                                            https://wiki.tox.chat/users/nodes

                                            Коннектишься с одной из нод из бутстрап-списка и получаешь все остальные ноды.
                                            Ответить
                                            • показать все, что скрытоvanished
                                              Ответить
                                              • У меня дома IPv6 есть, только динамический. Пока ещё не выяснял, умеют ли какие-нибудь сервисы вроде dyndns с ним работать.

                                                Когда я пользовался dyndns, у меня был внешний IPv4, а потом у меня был какой багор из-за того, что меня без предупреждения перевели в сеть 10.0.0.0/8. Такая же фигня произошла ещё с несколькими популярными российскими интернет-провайдерами. Техподдержка по команде сверху изображала идиотов: мы ничего не переключали, это вы не разбираетесь в маршрутизации. Через год провайдеры сдались и честно признались, что отобрали внешние IPv4-адреса.

                                                После того багра я обиделся на интернет-провайдеров и с тех пор дома никаких серверов не поднимал.
                                                Ответить
                                                • показать все, что скрытоvanished
                                                  Ответить
                                                  • >> что мешает тебе сделать это самому?

                                                    Это неинтересно. Заводить в добавку к своему серверу ещё другой, пердолиться. Значит, таких HoBorogHuu_nemyx.ru будут единицы.

                                                    Так-то я могу у провайдера попросить за отдельную плату статический адрес (я этого не хочу делать, потому что не хочу, чтобы меня админы говносайтов идентифицировали по айпишнику).

                                                    Вот если будет широкоизвестный публичный DNS для динамических адресов, которым сможет воспользоваться даже домохозяйка, тогда уже можно будет говорить о том, чтобы «позвонить на адрес».
                                                    Ответить
                                                    • показать все, что скрытоvanished
                                                      Ответить
                                                      • Наш телефонный оператор добровольно-принудительно всех переводит с медного кабеля на GPON и пытается навязать свой канал в Интернет. Выдаёт в аренду оптический модем со встроенной точкой доступа WiFi. По умолчанию выдаёт SSID, оканчивающийся на последние четыре цифры номера домашнего телефона либо на номер дома и квартиры. Так вот некоторые бригады в качестве пароля к сети или к админке роутера выставляют номер контракта (а они зачастую идут подряд, т. е. можно набрутить) или номер домашнего телефона или дату рождения абонента.

                                                        Как выяснилось, далеко не все абоненты торопятся сменить пароль с дефолтного...
                                                        Ответить
                                                        • > GPON
                                                          Ростелеком? Вроде больше никто этим не занимается.
                                                          Ответить
                                                        • показать все, что скрытоvanished
                                                          Ответить
                                                          • Провайдер «МГТС». Деревня есть под Зеленоградом, в которой он действует.

                                                            Роутер выбрать нельзя. На «ADSL» выбрать можно было (можно было купить свой, можно было арендовать их на выбор из нескольких моделей), на «GPON» выбрать нельзя. Какую модель подсунут, с такой и будешь жить. Ставят случайным образом. Ethernet есть на всех моделях, вифи на разных моделях разный.
                                                            Ответить
                                                            • если есть провод (буквоёб подсказывает что вифи тоже езернет так-то) то можно втынуть свой раутер

                                                              так было с доксисом

                                                              ну вот сосет же эта вся схема. У белых людей домой приходит витая пара с сотней мегабит, а куда они ее пхают это их проблема
                                                              Ответить
                                                              • У нас каких-то лет 10 назад один провайдер (заводивший витую пару) писал, что на безлимитных тарифах (да, тогда ещё были тарифы с помегабайтной оплатой) использование роутеров запрещено. В соглашении было написано, что использование клиентом роутера будет расценено как незаконное предпринимательство (ст. 171 УК РФ), с отключением от сети, расторжением договора и подачей искового заявления в суд.. Ведь всем же известно, что роутеры ставят только для того, чтобы перепродавать канал соседям.

                                                                Пруфлинк:
                                                                http://web.archive.org/web/20080610031321/http://www.prov.ru:80/index.php?mid=174

                                                                Потом с роутерами бороться перестали.
                                                                Ответить
                                                              • показать все, что скрытоvanished
                                                                Ответить
                                                          • показать все, что скрытоvanished
                                                            Ответить
                                        • Помнишь файлообменную сеть «ed2k»? Для неё ещё был популярный клиент «eMule», который поддерживал также бессерверную модификацию сети, именуемую «Kad» («Kademlia»). Были ещё бессерверные сети «Gnutella» и «Gnutella2», популярным клиентом была «Shareaza» (качать нужно ту, которая на «Sourceforge», потому что оригинальный домен отжали сквоттеры и разместили там малварь). Ещё в бессерверном режиме могут работать торренты посредством DHT и PEX.

                                          К чему это я? Есть более новые бессерверные P2P-сети:
                                          https://ru.wikipedia.org/wiki/Анонимные_сети

                                          В «I2P» уже есть некое подобие соцсети.

                                          Были даже попытки создания бессерверной поисковой системы, основанной на P2P.

                                          Были и бессерверные мессенджеры, только я не могу их вспомнить, потому что в них нет моих знакомых, все «сидят» на проприетарщине.
                                          Ответить
                                        • Более простой пример: Jabber/XMPP:
                                          • Там уже есть и голос, и видео, и передача файлов.
                                          • Каждый может поднять у себя сервер.
                                          • Если на сервере есть «TLS» и/или на клиенте есть «PGP», то такие сообщения почти наверняка не сможет прочитать посторонний.
                                          • Между серверами можно налаживать транспорты.

                                          Но почему-то молодёжь выбрала проприетарщину.
                                          Ответить
                                          • показать все, что скрытоvanished
                                            Ответить
                                            • Если у нас разные сервера, то «из коробки» связаться никак. Нужно на сервер устанавливать транспорт jabber2jabber (был готовый софт для этого) и как-то с ним пердолиться.

                                              Помню, что у популярных jabber-серверов были транспорты в сети «ICQ», «MSN», «AOL», «Агент@Mail.ru», «Google Talk», но как нужно было извращаться, чтобы ими пользоваться, я уже не помню.

                                              У «e-mail» никаких транспортов нет: там маршрутизация из коробки. Именно поэтому я за «e-mail».
                                              Ответить
                                      • показать все, что скрытоvanished
                                        Ответить
                                  • показать все, что скрытоvanished
                                    Ответить
                              • показать все, что скрытоvanished
                                Ответить
                          • А gmai1.com слишком палица. Хоья в некоторых шрифтах "1" выглядит как "l".
                            Ответить
                        • Ну т.е. это скорее от фишинга, чем от спама.
                          Ответить
    • показать все, что скрытоvanished
      Ответить

    Добавить комментарий