The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

08.12.2018 10:36  Уязвимости в PHP и PHPMailer

В опубликованных на днях корректирующих обновлениях PHP 5.6.39, 7.0.33, 7.1.25 и 7.2.13 устранена неприятная уязвимость (CVE-2018-19518) в штатном PHP-дополнении IMAP, выявленная ещё в октябре. Уязвимость позволяет атаковать web-приложения для работы с электронной почтой или обойти системные ограничения доступа к функциям, выставляемые через опцию disable_functions в php.ini.

В случае запрета вызовов, подобных exec, system, shell_exec и passthru, уязвимость даёт возможность выполнить произвольный shell-код, в случае когда злоумышленники могут загрузить свой PHP-код на сервер (например, для продолжения атаки после эксплуатации уязвимостей в плагинах для загрузки пользовательских файлов). Уязвимость также может применяться для атаки на webmail-клиенты, позволяющие установить произвольное имя imap-сервера и передающих его в вызов imap_open без дополнительной проверки.

Суть проблемы в том, что функция imap_open, через которую осуществляется открытие соединения с IMAP-сервером, позволяет указать дополнительные параметры для обращения к почтовому ящику по сети. Возможно обращение к почтовому ящику на удалённом хосте не только с использованием протокола IMAP, но и по SSH (вызывается команда rsh, но в большинстве дистрибутивов она перенаправлена на ssh). SSH можно передать дополнительные параметры, в том числе через указание опции "-oProxyCommand=" можно определить команду для запуска прокси. Вместо прокси можно указать любой код, который будет выполнен при вызове функции imap_open. Для блокирования уязвимости в новых выпусках по умолчанию отключено обращение imap_open по rsh/ssh (imap.enable_insecure_rsh=false).

Концептуальный прототип эксплоита:


   $server = "x -oProxyCommand=echo\tZWNobyAnMTIzNDU2Nzg5MCc+L3RtcC90ZXN0MDAwMQo=|base64\t-d|sh}";
   imap_open('{'.$server.':143/imap}INBOX', '', '') or die("\n\nError: ".imap_last_error());

Кроме того, раскрыты сведения об уязвимости (CVE-2018-19296) в PHPMailer, популярной библиотеке для организации отправки электронных писем из приложений на языке PHP, число пользователей которой оценивается в 9 миллионов (используется в WordPress, Drupal, 1CRM, SugarCRM, Yii и Joomla). Уязвимость позволяет организовать выполнение кода через подстановку ссылки на phar-файл в составе пути, например, при отправке письма с вложением или через манипуляции с параметрами DKIM. Устраняющее проблему исправление включено в состав релиза PHPMailer 6.0.6.

Полученный файл перед отправкой на email проверяется при помощи функции file_exists(), которая автоматически выполняет десериализацию метаданных из файлов Phar (PHP Archive) при обработке путей, начинающихся с "phar://", что позволяет применить технику атаки "Phar deserialization". Организовав загрузку специально оформленного Phar-файла под видом вложения, злоумышленник может добиться выполнения своего кода на сервере. Так как функция file_exists() определяет MIME-тип по содержимому, а не по расширению, возможна передача phar-файла под видом картинки (например, phar-файл будет разобран, если его передать как evil.jpg). Похожая уязвимость недавно была выявлена в phpBB.

  1. Главная ссылка к новости (https://www.openwall.com/lists...)
  2. OpenNews: Неосмотрительное использование плагина jQuery-File-Upload делает многие сайты уязвимыми
  3. OpenNews: Уязвимость в движке для создания форумов phpBB
  4. OpenNews: Уязвимость, позволяющая удалённо выполнить код на сервере PHP-репозитория Packagist
  5. OpenNews: Критическая уязвимость в PHPMailer, применяемом в WordPress, Drupal и Joomla
  6. OpenNews: В PHPMailer выявлена ещё одна критическая уязвимость, вызванная недоработкой в PHP
Лицензия: CC-BY
Тип: Проблемы безопасности
Ключевые слова: php
При перепечатке указание ссылки на opennet.ru обязательно
Обсуждение Ajax/Линейный | Раскрыть все сообщения | RSS
 
  • 1.1, Blind Vic (ok), 11:09, 08/12/2018 [ответить] [показать ветку] [···]    [к модератору]
  • +1 +/
    >  устранена неприятная уязвимость

    Бывают приятные уязвимости?

     
     
  • 2.5, commiethebeastie (ok), 11:31, 08/12/2018 [^] [ответить]    [к модератору]
  • +16 +/
    В айфонах которые.
     
  • 1.2, пох (?), 11:11, 08/12/2018 [ответить] [показать ветку] [···]    [к модератору]
  • +/
    то-то я удивлялся, чего это php_imap после установки не включается автоматически, как это происходит с любым нормальным модулем. Видимо, кто-то когда-то заглядывал в его прекрасный код и сделал выводы...

    что же, ждем новую серию ssh'ных червяков - теперь через PHPmailer и imap-через-ssh впридачу... время безумных гуанокодеров :-(

     
     
  • 2.3, annual slayer (?), 11:28, 08/12/2018 [^] [ответить]    [к модератору]
  • +1 +/
    зато можно сделать бложик с комментиками!
     
  • 2.49, Онаним (?), 11:26, 09/12/2018 [^] [ответить]     [к модератору]
  • +2 +/
    Ну согласись, передавать юзеринпут в параметры модуля имап да и в любые другие ... весь текст скрыт [показать]
     
     
  • 3.55, пох (?), 13:15, 09/12/2018 [^] [ответить]     [к модератору]  
  • +/
    воркер просто обломится об out of memory, и ничего интересного не произойдет ес... весь текст скрыт [показать]
     
     
  • 4.61, Онаним (?), 13:36, 09/12/2018 [^] [ответить]     [к модератору]  
  • +2 +/
    1 Зависит от контекста Окей, подбираем значения под размер памяти, и дальше уж... весь текст скрыт [показать]
     
     
  • 5.65, пох (?), 16:59, 09/12/2018 [^] [ответить]     [к модератору]  
  • +/
    ну хз - вот были генераторы во времена дисплеев 800x600 - генерили превьюшки с п... весь текст скрыт [показать]
     
  • 4.62, Онаним (?), 13:39, 09/12/2018 [^] [ответить]     [к модератору]  
  • +3 +/
    Суть в том, что пых, как и сишечка, кодера от выстрела себе в ногу не защищает н... весь текст скрыт [показать]
     
  • 1.4, Аноним (4), 11:29, 08/12/2018 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    Пора на WT?
     
  • 1.7, Аноним (7), 12:29, 08/12/2018 [ответить] [показать ветку] [···]    [к модератору]  
  • +1 +/
    Дыра с phar так и осталась нерешенной. Suhosin вам не поможет, только смена языка разработки.
     
     
  • 2.12, пох (?), 12:50, 08/12/2018 [^] [ответить]    [к модератору]  
  • +/
    фффпринципе, полагаю, там хватит однострочного патча в легко находимом месте кода.
    Но вот сколько и чего при этом поломается...

     
  • 2.32, Аноним (32), 19:28, 08/12/2018 [^] [ответить]     [к модератору]  
  • +/
    Нахрен он его вообще распаковывает Чтобы проверить файлы унутре file_exists ... весь текст скрыт [показать]
     
     
  • 3.51, пох (?), 12:52, 09/12/2018 [^] [ответить]    [к модератору]  
  • +/
    > Нахрен он его вообще распаковывает? Чтобы проверить файлы "унутре"?

    да.
    во всяком случае семантика такая. А что это нахрен никому не надо - авторов не беспокоило.

     
  • 2.47, Онаним (?), 11:22, 09/12/2018 [^] [ответить]    [к модератору]  
  • –1 +/
    Вы передаёте поданное пользователем имя файла ("phar://...") в файловые операции над локальной ФС?
    У меня для вас плохие новости.
     
     
  • 3.52, пох (?), 13:01, 09/12/2018 [^] [ответить]     [к модератору]  
  • +/
    да, передаем, потому что этот файл создан пользователем и имеет придуманное этим... весь текст скрыт [показать]
     
     
  • 4.56, Онаним (?), 13:18, 09/12/2018 [^] [ответить]     [к модератору]  
  • +/
    Не надо хранить в базе то, что надо хранить в ФС Но вот 100 валидации пользова... весь текст скрыт [показать]
     
     
  • 5.70, пох (?), 18:15, 09/12/2018 [^] [ответить]     [к модератору]  
  • +/
    anon 1025 mkdir phar anon 1026 touch phar test jpg anon 1027 ls -... весь текст скрыт [показать]
     
     
  • 6.71, Онаним (?), 18:43, 09/12/2018 [^] [ответить]    [к модератору]  
  • +/
    В данном случае невалиден мозг, разрешивший передавать аж целые каталоги в юзеринпуте.
     
     
  • 7.74, пох (?), 18:46, 09/12/2018 [^] [ответить]     [к модератору]  
  • +1 +/
    понятно все с вашими мозгами, гражданин пхп-обезьян юзер не должен передавать к... весь текст скрыт [показать]
     
  • 4.57, Онаним (?), 13:21, 09/12/2018 [^] [ответить]     [к модератору]  
  • +/
    Это может понадобиться, когда ты используешь phar для доступа к собранным в о... весь текст скрыт [показать]
     
     
  • 5.66, пох (?), 17:04, 09/12/2018 [^] [ответить]     [к модератору]  
  • +/
    и зачем оно вдруг имеет расширение jpg Отдельный вопрос - зачем вы использует... весь текст скрыт [показать]
     
     
  • 6.72, Онаним (?), 18:44, 09/12/2018 [^] [ответить]     [к модератору]  
  • +/
    Будем проверять все конкретные расширения Сегодня жпг, завтра гиф, послезавтра ... весь текст скрыт [показать]
     
     
  • 7.76, пох (?), 18:49, 09/12/2018 [^] [ответить]     [к модератору]  
  • +/
    да Очевидно, что если файл имеет расширение jpeg, а внутри postscript - это ху... весь текст скрыт [показать]
     
  • 7.84, пох (?), 19:31, 09/12/2018 [^] [ответить]     [к модератору]  
  • +/
    а, кстати, почему нет, может он бэкап своего контейнера выложил Разумеется, ниж... весь текст скрыт [показать]
     
     
  • 8.98, Онаним (?), 09:27, 11/12/2018 [^] [ответить]     [к модератору]  
  • +/
    В имени файла, переданном пользователем типовому публичному web-приложению, вооб... весь текст скрыт [показать]
     
  • 6.73, Онаним (?), 18:46, 09/12/2018 [^] [ответить]     [к модератору]  
  • +/
    И вот тут ты очень правильно попал в этом случае выбранное валидируется согласн... весь текст скрыт [показать]
     
     
  • 7.78, пох (?), 18:54, 09/12/2018 [^] [ответить]     [к модератору]  
  • +/
    функцией file_exists, да менюшечка была в форме, сейчас нам POST пришел - с п... весь текст скрыт [показать]
     
     
  • 8.88, Онаним (?), 20:15, 09/12/2018 [^] [ответить]    [к модератору]  
  • +/
    Менюшечка из libastral.so? Если нет, то описатель этой менюшечки есть сервер-сайд, не надо ничего лишнего отправлять.
     
     
  • 9.91, пох (?), 23:00, 09/12/2018 [^] [ответить]     [к модератору]  
  • +/
    ну ок, храни ее вечно - пока пользователь то ли нажмет submit, то ли передумает,... весь текст скрыт [показать]
     
     
  • 10.92, Онаним (?), 09:09, 10/12/2018 [^] [ответить]    [к модератору]  
  • +1 +/
    Да, правда. PHP - очень удачная обёртка в виде небольшого рантайма с динамической сборкой поверх тонны сишных библиотек. Удачнее не получилось, не получалось и не получается ни у кого уже лет 30.
     
     ....нить скрыта, показать (20)

  • 1.8, Аноним (8), 12:35, 08/12/2018 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    >However, the unserialize is triggered for the phar:// wrapper in any file operation.

    Это - не уязвимость. Это - бекдор.

     
     
  • 2.11, Аноним (8), 12:47, 08/12/2018 [^] [ответить]    [к модератору]  
  • +/
    Извиняюсь, невнимательно прочитал. Это не уязвимость и не бэкдор. Это странный дизайн функций, задействующий фильтры через модификацию строк вместо ООП.
     
     
  • 3.41, Аноним (41), 04:43, 09/12/2018 [^] [ответить]    [к модератору]  
  • +/
    Функция может проверить содержится до файл в архиве или на фтп, что удобно
    Несомненно эта возможность является бэкдором
     
  • 2.14, Аноним (7), 13:08, 08/12/2018 [^] [ответить]    [к модератору]  
  • +/
    Там ведь можно еще заюзать udp:// tcp:// stream:// и tls:// верно?
     
  • 2.48, Онаним (?), 11:23, 09/12/2018 [^] [ответить]     [к модератору]  
  • –1 +/
    Это не бэкдор, это очень удобный механизм К сожалению, в кривых руках, привыкши... весь текст скрыт [показать]
     
     
  • 3.86, Аноним (86), 20:08, 09/12/2018 [^] [ответить]    [к модератору]  
  • +/
    Ага. я сам язык ниучём неуноват.
     
     
  • 4.87, Онаним (?), 20:15, 09/12/2018 [^] [ответить]    [к модератору]  
  • +/
    А никто вам защиту от выстрела в ногу не гарантировал )
     
     
  • 5.89, Аноним (86), 22:15, 09/12/2018 [^] [ответить]    [к модератору]  
  • +/
    Слово "гарантировал" в разработке ПО не используется. Поэтому аргумент не засчитывается.

    Разворачивать не стану, всё равно мой пост по политическим причинам сотрут и вы его не увидите.

     
  • 1.15, Аноним (15), 14:05, 08/12/2018 [ответить] [показать ветку] [···]    [к модератору]  
  • –3 +/
    Интересно было бы узнать, где и с чем работают все эти немногочисленные хейтеры php и systemd.
     
     
  • 2.16, Аноним (7), 14:14, 08/12/2018 [^] [ответить]    [к модератору]  
  • +/
    ErlangVM, Rust, Python3, Golang, NodeJS, & Ruby.
     
     
  • 3.17, Vitaliy Blats (?), 14:34, 08/12/2018 [^] [ответить]    [к модератору]  
  • +/
    > ErlangVM, Rust, Python3, Golang, NodeJS, & Ruby.

    И шо, уже есть нормальные известные проекты на этом?)

     
     
  • 4.20, Аноним (20), 16:05, 08/12/2018 [^] [ответить]     [к модератору]  
  • –1 +/
    Есть Только никто не признаётся, на чём его проект, а то мамкины хацкеры, если ... весь текст скрыт [показать]
     
     
  • 5.22, пох (?), 16:17, 08/12/2018 [^] [ответить]     [к модератору]  
  • +1 +/
    скачают типовой эксплойт для поделок на ror, node и что там у вас еще за хлам, а... весь текст скрыт [показать]
     
     
  • 6.24, Аноним (24), 16:48, 08/12/2018 [^] [ответить]    [к модератору]  
  • +/
    ROP Gadget в твою вордпреску, скомпилят как модуль ядра и подгрузят.
     
  • 6.31, Аноним (31), 18:58, 08/12/2018 [^] [ответить]    [к модератору]  
  • +/
    > ror, node ... в жанге

    Это все варианты, которые вам известны?

     
     
  • 7.34, пох (?), 21:49, 08/12/2018 [^] [ответить]     [к модератору]  
  • +/
    не, это что я сходу у себя в логе нашел, помимо coldfusion а и миллиона чего э... весь текст скрыт [показать]
     
     
  • 8.39, Sw00p aka Jerom (?), 01:10, 09/12/2018 [^] [ответить]     [к модератору]  
  • +/
    поищи че нить такое 24 7B 28 23_memberAccess 5B 22allowStaticMethodAccess 22... весь текст скрыт [показать]
     
     
  • 9.43, пох (?), 09:28, 09/12/2018 [^] [ответить]     [к модератору]  
  • +/
    а, точно, cpyt-c же ж Не, такие продвинутые ко мне редко ходют, им проще подава... весь текст скрыт [показать]
     
  • 5.23, Vitaliy Blats (?), 16:39, 08/12/2018 [^] [ответить]     [к модератору]  
  • +/
    Значит нету Что в принципе и требовалось доказать Почти все фронтенды пишутся ... весь текст скрыт [показать]
     
     
  • 6.29, Аноним (31), 18:51, 08/12/2018 [^] [ответить]     [к модератору]  
  • +/
    Угу Чтоб он РАБОТАЛ так, как нужно заказчику не только на момент приёмки от ... весь текст скрыт [показать]
     
     
  • 7.36, пох (?), 21:54, 08/12/2018 [^] [ответить]     [к модератору]  
  • +/
    через год этот заказчик уже банкрот и сдает квартиру, благо ипотеку выплатил в ж... весь текст скрыт [показать]
     
  • 7.42, Аноним (41), 08:26, 09/12/2018 [^] [ответить]    [к модератору]  
  • +/
    Так не бывает. Поддерживать и исправлять уязвимости нужно постоянно и на любом языке.
     
     
  • 8.64, Аноним (64), 14:13, 09/12/2018 [^] [ответить]     [к модератору]  
  • +/
    Дык отож Только одно дело раз в день по диагонали просматривать письма от log a... весь текст скрыт [показать]
     
  • 6.37, User (??), 22:51, 08/12/2018 [^] [ответить]    [к модератору]  
  • +2 +/
    >(а значит программисты на нем более дешевле),

    "более дешевле", да... ПыХаПэ-культура в двух словах, ага. Портрет явления, тскзть.
    За PHP Марьванна двойки не ставит - погнали, посоны!!!111

     
  • 6.85, Sw00p aka Jerom (?), 19:46, 09/12/2018 [^] [ответить]    [к модератору]  
  • +1 +/
    >>Почти все фронтенды пишутся на PHP

    фронтенды на пхп не пишут :)

     
  • 4.27, Аноним84701 (ok), 17:47, 08/12/2018 [^] [ответить]     [к модератору]  
  • +1 +/
    Если вы ничего не слышали о CloudFlare, GitHub, dl google и Netflix, то у меня д... весь текст скрыт [показать]
     
     
  • 5.44, пох (?), 09:38, 09/12/2018 [^] [ответить]     [к модератору]  
  • +/
    окей, любитель приятных новостей - ни в какой из этих я работать не хочу, они ту... весь текст скрыт [показать]
     
     
  • 6.59, Аноним84701 (ok), 13:28, 09/12/2018 [^] [ответить]     [к модератору]  
  • +/
    Держите нас в курсе Нам ведь почти интересно Заметим, что тут еще и ловкая п... весь текст скрыт [показать]
     
     
  • 7.67, пох (?), 17:07, 09/12/2018 [^] [ответить]     [к модератору]  
  • +/
    ну ок, так и запишем - в основном - нигде, основная ниша - внутренняя кухня аж ... весь текст скрыт [показать]
     
  • 4.40, НяшМяш (ok), 02:45, 09/12/2018 [^] [ответить]    [к модератору]  
  • +/
    github.com ?
     
  • 3.19, Аноним (19), 16:00, 08/12/2018 [^] [ответить]    [к модератору]  
  • +/
    Иными словами - в основном, нигде.
     
     
  • 4.25, Аноним (24), 16:50, 08/12/2018 [^] [ответить]    [к модератору]  
  • +/
    Пыхапистам виднее, ведь эти мамкины разработчики уже всему научены.
     
     
  • 5.26, Vitaliy Blats (?), 16:56, 08/12/2018 [^] [ответить]     [к модератору]  
  • –2 +/
    Если язык для своего понимания, требует какие-то особые скиллы и особую уличную ... весь текст скрыт [показать]
     
     
  • 6.30, Аноним (31), 18:53, 08/12/2018 [^] [ответить]    [к модератору]  
  • +1 +/
    Если разработчик не имеет хотя бы минимальной подготовки и набора скиллов, он УЖЕ НА СТАРТЕ не нужет.
     
     
  • 7.33, Анонн (?), 19:31, 08/12/2018 [^] [ответить]    [к модератору]  
  • +/
    > Если разработчик не имеет хотя бы минимальной подготовки и набора скиллов, он УЖЕ НА СТАРТЕ не нужет.

    Осторожнее, эта братия при сильном негодовании не только бананами закидать может!


     
  • 7.35, пох (?), 21:52, 08/12/2018 [^] [ответить]    [к модератору]  
  • +/
    как это не нужен? А кто мне будет за пиццот рублев чинить сдохший битрикс? Мне что, самому мараться?

     
     
  • 8.63, Аноним (64), 13:45, 09/12/2018 [^] [ответить]    [к модератору]  
  • +/
    > битрикс

    ып... ып... ып... ыбуэээ....

     
     
  • 9.80, пох (?), 18:57, 09/12/2018 [^] [ответить]    [к модератору]  
  • +/
    буэ свое можешь откладывать сколько влезет, только не на мой столик - мне чтоб завтра сайт заработал, сделаешь - 500 рублей получишь.

    и ведь делают же ж :-(

     
  • 3.38, vedronim (?), 23:06, 08/12/2018 [^] [ответить]    [к модератору]  
  • +/
    Это все, что ты смог нагуглить о языках?
     
     
  • 4.50, Аноним (7), 12:15, 09/12/2018 [^] [ответить]    [к модератору]  
  • +/
    Erlang/Ruby -> +Elixir
    + Crystal
    Nim
    Elm
    Dlang
    Haskell
    Scala
    Kotlin
    Swift
    Ponylang
     
  • 2.90, Аноним (86), 22:18, 09/12/2018 [^] [ответить]    [к модератору]  
  • +/
    > немногочисленные хейтеры php

    Определение слова "хейтер" и статистику по многочисленности - в студию.

    А то есть подозрение, молчек, что ты балабол.

     
     ....нить скрыта, показать (32)

  • 1.45, Онаним (?), 11:09, 09/12/2018 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    Уязвимость выглядит как дерьмо, и реально дерьмо, но причина таковой - передача юзеринпута в различные вызовы без валидации.

    Кодер, помни: если ты забираешь что угодно ($server) с юзеринпута и фигачишь в вызовы библиотек (imap_open) без проверки на соответствие формата и валидность (в данном случае - доменное имя и возможно :порт) - в программировании тебе не место, да и руки видимо надо экстренно выпрямлять.

     
     
  • 2.53, пох (?), 13:09, 09/12/2018 [^] [ответить]     [к модератору]  
  • +/
    проверку как производить будем - высунем окошко и будем ждать модератора-человек... весь текст скрыт [показать]
     
     
  • 3.58, Онаним (?), 13:23, 09/12/2018 [^] [ответить]     [к модератору]  
  • +1 +/
    В данном конкретном случае - регэкспом Валидный формат доменного имени вполне с... весь текст скрыт [показать]
     
     
  • 4.69, пох (?), 17:16, 09/12/2018 [^] [ответить]     [к модератору]  
  • +/
    ну и зачем, зачем тогда вы накрутили в imap_open какие-то другие операции с этим... весь текст скрыт [показать]
     
     
  • 5.75, Онаним (?), 18:48, 09/12/2018 [^] [ответить]     [к модератору]  
  • +/
    А затем, что у imap_open овердохера применений И накрутили не совсем в пхп, а в... весь текст скрыт [показать]
     
     
  • 6.81, пох (?), 19:03, 09/12/2018 [^] [ответить]     [к модератору]  
  • +/
    честно говоря, применение в виде imap over rsh мне представляется требующим при ... весь текст скрыт [показать]
     
  • 1.46, Онаним (?), 11:17, 09/12/2018 [ответить] [показать ветку] [···]    [к модератору]  
  • –1 +/
    Что же до пыхмейлера - 250+ кб кода, чтобы банально сформировать и отправить MIME - пользующиеся этим счастьем ссзб и должны страдать :)
     
     
  • 2.54, пох (?), 13:10, 09/12/2018 [^] [ответить]    [к модератору]  
  • +1 +/
    где посмотреть на твои 25 строк кода, делающих то же самое? (exec metamail не катит)
     
     
  • 3.60, Онаним (?), 13:30, 09/12/2018 [^] [ответить]    [к модератору]  
  • –1 +/
    Широкой публике - нигде.
    Чекнул у себя Email.php - 344 строки кода, 13.5 кб. Умеет mail(), SMTP (со STARTTLS), автоматически создаёт text/plain вложение из HTML, умеет аттачменты. Из того, что умеет PHPMailer - не умеет инлайн изображения (возложено на приложение), не умеет DKIM-подпись, не умеет OAuth и POP3-before-SMTP. Но это не стоит 200 кб.
     
     
  • 4.68, пох (?), 17:12, 09/12/2018 [^] [ответить]    [к модератору]  
  • +1 +/
    ну молодец, возьми с полки пирожок. Судя по отсутствию у тебя желания публиковать этот код - в нем есть, хехе, ньюансы.

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

     
     
  • 5.77, Онаним (?), 18:52, 09/12/2018 [^] [ответить]    [к модератору]  
  • –1 +/
    Насчёт "скорее всего" по DKIM и POP - нет, в пхпмейлере там всё ногами, то есть руками. При этом им зачем-то приходится заголовки обратно разбирать при формировании, что добрую долю оверблоута добавляет.
     
     
  • 6.82, пох (?), 19:07, 09/12/2018 [^] [ответить]    [к модератору]  
  • +/
    так его писали десять лет назад, если не больше - там еще много чего руками, что в php5.2 было только руками и можно. Понятно что пора уже напрячься и почистить... ну я чо, я менеджеров пнул, кодеры уже в пятницу выбежали с лопатами, няхай шкрябают.

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


     
  • 5.79, Онаним (?), 18:57, 09/12/2018 [^] [ответить]    [к модератору]  
  • –2 +/
    Ну и да, никаких "нюансов", влияющих на функционирование, там нет.

    Просто с поветрием современных оверблоутных PSR'ов с композерами, 100500 классами в 3 строчки, неймспейсами на каждый чих и прочими прелестями публиковать "чистые" олдскульные либы (1 либа/класс - 1 полностью реализованный функционал) бессмысленно.

    PHPMailer кстати ещё в этом плане тоже пока держится, там всего пяток файлов, которые надо вгрузить.

     
     
  • 6.83, пох (?), 19:09, 09/12/2018 [^] [ответить]    [к модератору]  
  • +/
    ну фиг знает - если код хороший - есть смысл его выложить, один использовавший вместо пхпмэйлера - минус один (а может и десяток) источник спама и попыток хакнуть, тоже неплохо.

     
  • 6.94, Gemorroj (ok), 12:57, 10/12/2018 [^] [ответить]    [к модератору]  
  • +/
    да трендишь 100%, наверняка там вагон и телега багов будет с юникодом каким-нибудь и проч.
    и еще у тебя так же наверняка будут уязвимости. ты же ничего не знал про уязвимости в imap_open и утащил к себе 100500 строк сишного кода в виде php интерпретатора, чтобы "сформировать и отправить MIME".
     
     
  • 7.95, ваш КО (?), 14:55, 10/12/2018 [^] [ответить]    [к модератору]  
  • –1 +/
    imap_open не имеет прямого отношения к отправке почты, которой занимается PHPMailer или его самодельная замена в 300 строк

     
  • 7.97, Аноним (97), 15:33, 10/12/2018 [^] [ответить]    [к модератору]  
  • –1 +/
    Всё куда проще, я $_GET в вызовы не передаю, предварительно не обработав во все поля. Ни одна библиотека от криворукости не застрахует.
     
  • 1.93, Gemorroj (ok), 12:51, 10/12/2018 [ответить] [показать ветку] [···]    [к модератору]  
  • –1 +/
    новость об уязвимостях написали, а об релизе пхп 7.3 нет. совпадение? не думаю)
     
     
  • 2.99, Аноним (99), 12:26, 11/12/2018 [^] [ответить]     [к модератору]  
  • +/
    Вы рандомом что-ли новости для чтения выбирайте Новость про PHP 7 3 была за ден... весь текст скрыт [показать]
     

     Добавить комментарий
    Имя:
    E-Mail:
    Заголовок:
    Текст:


      Закладки на сайте
      Проследить за страницей
    Created 1996-2019 by Maxim Chirkov  
    ДобавитьПоддержатьВебмастеруГИД  
    Hosting by Ihor