Как стать автором
Обновить

Выявлена уязвимость PHP 7, которая помогает перехватывать контроль над NGINX-серверами

Время на прочтение2 мин
Количество просмотров20K
image

Эксперты обнаружили в ветке PHP 7 уязвимость CVE-2019-11043, которая позволяет хакерам выполнять команды на сервере с помощью специально сформированного URL с добавлением '?a='.

Данный баг активно применяется при атаках, так как его просто эксплуатировать. Проблему усугубило то, что в октябре на GitHub появился PoC-код для определения уязвимых серверов. Он отправляет специально сформированные запросы, чтобы выяснить, уязвим ли тот или иной сервер. При этом атаки возможны только в отношении NGINX-серверов с включенным PHP-FPM (программным пакетом для обработки скриптов на языке PHP).
Читать дальше →
Всего голосов 21: ↑19 и ↓2+17
Комментарии30

Зачем писать на PHP в 2020? Холиварим в режиме интерактивного подкаста на Youtube в этот четверг

Время на прочтение2 мин
Количество просмотров14K
В начале июня один из ведущих «Цинкового прода» разместил на Хабре резонансную статью «Какая ниша у языка и поможет ли PHP8 решить [его] насущные проблемы (спойлер: имхо, нет)». Незадолго до этого мы решили, что пора бы сделать доклад, зачем выбирать PHP, когда вокруг расцветают сто цветов языков. Эти вещи так совпали по времени, что захотелось устроить совместный эфир и обсудить нишу и перспективы языка — с разных точек зрения.


Подключайтесь к трансляции 18 июня в 20 часов по Москве — комментарии на ютубе обязательно попадут в выпуск. А может и с голосовым общением что придумаем.

В эфир придут:

  • Постоянные ведущие подкаста «Цинковый прод» — Антон Околелов, Никита Васильченко и Олег Грицак.
  • Максим Шамаев — автор докладов об опыте перевода древнего проекта на PHP 7, построении трассировки и логирования между микросервисами и готовящегося доклада «Зачем сегодня писать на PHP».
  • Александр Майоров, много пишет про PHP и Python на портале Geekjob.
Немного подробностей
Всего голосов 30: ↑27 и ↓3+24
Комментарии172

Пасхалка в ionCube — попытка разработчиков замести мусор под ковер?

Время на прочтение9 мин
Количество просмотров14K

Веб-разработчик знает, что скрипты, созданные в коммерческих целях, могут пойти гулять по сети с затёртыми копирайтами; не исключено, что скрипт начнут перепродавать от чужого имени. Чтобы скрыть исходный код скрипта и препятствовать его изменению, применяются обфускаторы, минификаторы и т.д. Один из самых давних и известных инструментов для шифрования скриптов на PHP — это ionCube. Появившийся в 2002, он продолжает следить за развитием PHP и заявляет о поддержке последних версий платформы. Как я покажу в этой статье, с поддержкой PHP 7 у ionCube далеко не всё в порядке…
Читать дальше →
Всего голосов 49: ↑49 и ↓0+49
Комментарии8

Спецификации PHP опубликованы для обсуждения

Время на прочтение1 мин
Количество просмотров11K
За 20 лет своего существования PHP стал одним из самых популярных языков для веб-разработки. Несмотря на наличие обширной документации, у PHP никогда не было формальных спецификаций. Эту ситуацию нужно исправлять в свете выхода следующей версии PHP 7 и уже существующих реализаций PHP, таких как HHVM. Все эти реализации должны быть максимально совместимы со спецификациями, а их нет.

Разработчики HHVM составили первоначальный черновик, который полностью передали в общественное достояние. Спецификации опубликованы на Github и доступны для обсуждения и правки.
Всего голосов 46: ↑36 и ↓10+26
Комментарии7

Дайджест интересных новостей и материалов из мира PHP № 45 (20 июля – 3 августа 2014)

Время на прочтение4 мин
Количество просмотров20K


Предлагаем вашему вниманию очередную подборку со ссылками на новости и материалы.

Приятного чтения!
Читать дальше →
Всего голосов 48: ↑44 и ↓4+40
Комментарии10

Дайджест интересных новостей и материалов из мира PHP № 46 (3 – 24 августа 2014)

Время на прочтение6 мин
Количество просмотров27K


Предлагаем вашему вниманию очередную подборку со ссылками на новости и материалы.

Приятного чтения!
Читать дальше →
Всего голосов 85: ↑73 и ↓12+61
Комментарии21

Дайджест интересных новостей и материалов из мира PHP № 50 (6 октября – 26 октября 2014)

Время на прочтение4 мин
Количество просмотров26K


Предлагаем вашему вниманию очередную подборку со ссылками на новости и материалы.

Приятного чтения!
Читать дальше →
Всего голосов 57: ↑50 и ↓7+43
Комментарии27

Обновляем расширение Intl в PHP 7 на Linux Ubuntu 16.04

Время на прочтение3 мин
Количество просмотров25K
Программисты делятся на два типа: консерваторы, для которых переход на новую версию равносилен перелёту на другую планету (если читаешь это из Windows XP — поздравляю, это ты); и Викторы Цои, чьи сердца и глаза требуют перемен, и обновляют всё и вся при первой возможности. Если ты второго типа, и у тебя уже стоит последняя версия PHP на последней LTS версии Ubuntu, но покоя не даёт то, что расширение Intl использует устаревшую версию библиотеки ICU, или тебе просто понравились картинки из «Аватара» — добро пожаловать под кат! (Картинок больше не будет.)

Аватар

Читать дальше →
Всего голосов 16: ↑16 и ↓0+16
Комментарии12

Странные операторы в PHP

Время на прочтение4 мин
Количество просмотров41K


Если вы прочитаете документацию по PHP, вы узнаете о массе операторов. Если вы не знаете ещё PHP-операторы, сперва изучите их, а потом вернитесь к прочтению этой статьи.

Читать дальше →
Всего голосов 52: ↑42 и ↓10+32
Комментарии47

Как мы сделали PHP 7 в два раза быстрее PHP 5. Часть 1: оптимизация структур данных

Время на прочтение18 мин
Количество просмотров37K
В декабре 2015 вышел PHP 7.0. Компании, которые перешли на «семерку» отметили, что увеличилась производительность, а нагрузка на сервера — уменьшилась. Первыми перешли на семерку Vebia и Etsy, а у нас Badoo, Авито и OLX. Для Badoo переход на семёрку обошелся в 1 млн. долларов экономии на серверах. Благодаря PHP 7 в OLX средняя нагрузка на сервер снизилась в 3 раза, повысилась эффективность и экономия ресурсов.

Дмитрий Стогов из Zend Technologies на HighLoad++ рассказал, благодаря чему повысилась производительность. В расшифровке: о внутреннем устройстве PHP, об идеях в основе версии 7.0, об изменениях в базовых структурах данных и алгоритмах, которые и определили успех.

Disclaimer: На март 2019 года 80% сайтов работают на PHP, и 70% из них — на PHP 5, хотя с 1 января 2019 эта версия не поддерживается. Доклад Дмитрия от 2016 года про принципы, благодаря которым произошел двукратный скачок производительности между PHP 5 и 7, — актуален и в марте 2019. Для половины сайтов — точно.
Всего голосов 121: ↑116 и ↓5+111
Комментарии20

Как мы сделали PHP 7 в два раза быстрее PHP 5. Часть 2: оптимизация байт-кода в PHP 7.1

Время на прочтение7 мин
Количество просмотров14K
В первой части рассказа по мотивам выступления Дмитрия Стогова из Zend Technologies на HighLoad++ мы разбирались во внутреннем устройстве PHP. Детально и из первых уст узнали, какие изменениях в базовых структурах данных позволили ускорить PHP 7 более чем в два раза. На этом можно было бы и остановиться, но уже в версии 7.1 разработчики пошли существенно дальше, так как идей по оптимизации у них было еще много.

Накопленный опыт работы над JIT до семёрки теперь можно интерпретировать, смотря на результаты в 7.0 без JIT и на результаты HHVM с JIT. В PHP 7.1 было решено c JIT не работать, а опять обратиться к интерпретатору. Если раньше оптимизации касались интрепретатора, то в этой статье посмотрим на оптимизацию байт-кода, с использованием вывода типов, который реализовали для нашего JIT.



Под катом Дмитрий Стогов покажет, как это все работает, на простом примере.
Читать дальше →
Всего голосов 52: ↑51 и ↓1+50
Комментарии16

PHP 8: код «До» и «После» (сравнение с PHP 7.4)

Время на прочтение5 мин
Количество просмотров39K


Осталось всего несколько месяцев до выхода PHP 8, и в этой версии действительно есть много хорошего. Под катом расскажем, как эти нововведения уже начали менять подход автора этого материала к написанию кода.
Читать дальше →
Всего голосов 43: ↑37 и ↓6+31
Комментарии75

Двойная скорость и половина памяти: оптимизация PHP 7

Время на прочтение13 мин
Количество просмотров22K
Ключ к высокой производительности приложений – оптимизация. При этом, чем ниже уровень, на котором код подстраивают под особенности аппаратного обеспечения – тем большего можно добиться. А ещё более впечатляющих результатов можно достичь тогда, когда при проектировании аппаратного обеспечения учитываются особенности кода. Сегодня мы расскажем о том, как идёт работа над ускорением PHP 7, которую совместно, практически непрерывно, ведут Intel и сообщество PHP-разработчиков.


Читать дальше →
Всего голосов 42: ↑39 и ↓3+36
Комментарии2

PHP-Дайджест № 88 – интересные новости, материалы и инструменты (13 июня – 17 июля 2016)

Время на прочтение4 мин
Количество просмотров21K


После небольшого перерыва PHP-Дайджест снова в деле! Предлагаем вашему вниманию очередную подборку со ссылками на новости и материалы.

Приятного чтения!
Читать дальше →
Всего голосов 46: ↑43 и ↓3+40
Комментарии6

PHP-Дайджест № 89 – интересные новости, материалы и инструменты (17 – 31 июля 2016)

Время на прочтение3 мин
Количество просмотров18K


Предлагаем вашему вниманию очередную подборку со ссылками на новости и материалы.

Приятного чтения!
Читать дальше →
Всего голосов 56: ↑47 и ↓9+38
Комментарии10

PHP-Дайджест № 90 – интересные новости, материалы и инструменты (1 – 14 августа 2016)

Время на прочтение3 мин
Количество просмотров18K


Предлагаем вашему вниманию очередную подборку со ссылками на новости и материалы. Приятного чтения!
Читать дальше →
Всего голосов 71: ↑64 и ↓7+57
Комментарии39

PHP-Дайджест № 91 – интересные новости, материалы и инструменты (15 – 28 августа 2016)

Время на прочтение3 мин
Количество просмотров18K



Предлагаем вашему вниманию очередную подборку со ссылками на новости и материалы. Приятного чтения!


Читать дальше →
Всего голосов 56: ↑54 и ↓2+52
Комментарии4

[СПб, Анонс] Встреча CodeFreeze с разработчиком PHP Дмитрием Стоговым про внутреннее устройство виртуальной машины PHP

Время на прочтение1 мин
Количество просмотров8.6K

В среду, 7 сентября, в 20:00 в питерском офисе компании JetBrains состоится встреча с Дмитрием Стоговым, разработчиком компилятора PHP, сотрудником Zend Technologies. Тема встречи — внутреннее устройство виртуальной машины PHP и, в частности, последние изменения в PHP 7.



Участие, как всегда, бесплатное. Регистрация — по ссылке. Количество мест ограничено.


О докладе


Виртуальная машина PHP имеет различные внутренние изменения, однако самые интересные — поднимающие производительность от версии к версии. Именно о них расскажет Дмитрий, уделив внимание последним изменениям, реализованным в PHP 7 и принесшим двукратное улучшение, и новым идеям, реализуемым в ещё не выпущенных версиях.


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

Читать дальше →
Всего голосов 23: ↑21 и ↓2+19
Комментарии2

PHP-Дайджест № 92 – интересные новости, материалы и инструменты (29 августа – 11 сентября 2016)

Время на прочтение3 мин
Количество просмотров15K



Предлагаем вашему вниманию очередную подборку со ссылками на новости и материалы.


Приятного чтения!


Читать дальше →
Всего голосов 55: ↑51 и ↓4+47
Комментарии2

PHP-Дайджест № 93 – интересные новости, материалы и инструменты (12 – 25 сентября 2016)

Время на прочтение3 мин
Количество просмотров18K



Предлагаем вашему вниманию очередную подборку со ссылками на новости и материалы. Приятного чтения!

Читать дальше →
Всего голосов 77: ↑71 и ↓6+65
Комментарии14