Доступны (http://php.net/index.php#id2015-07-09-1) корректирующие выпуски языка программирования PHP 5.6.11, 5.5.27 и 5.4.43, в которых устранены пять уязвимостей и исправлено около десяти ошибок. В том числе в mysqlnd исправлена проблема CVE-2015-3152, позволяющая (http://www.opennet.me/opennews/art.shtml?num=42173) обойти создание шифрованного канала связи и организовать MITM-атаку между клиентом и СУБД. Также устранены уязвимости в модулях Sqlite3 и SPL.
Одновременно представлена первая бета-версия PHP 7.0.0, которая ознаменовала собой заморозку кодовой базы от значительных изменений.
Ключевые улучшения (https://github.com/php/php-src/blob/php-7.0.0beta1/UPGRADING) в PHP 7:- Существенное увеличение производительности, благодаря применению (http://www.opennet.me/opennews/art.shtml?num=39724) новых методов организации работы с памятью и переходу на новые структуры хранения данных. В некоторых тестах PHP 7 до двух раз быстрее PHP 5.6;
- Целостная поддержка 64-разрядных типов на 64-разрядных системах. В том числе возможность использования строк, размером до 2^31 байт, поддержка 64-разрядных значений integer при работе в Windows, поддержка больших файлов в 64-разрядных сборках.
- Возможность обработки через исключения многих ошибок, ранее приводивших к принудительному завершению работы;- Новый оператор "?? (https://wiki.php.net/rfc/isset_ternary)", позволяющий определить альтернативное значение, в случае если неопределён первичный объект присвоения. Например, для присвоения пустой строки, если не заполнен элемент ассоциативного массива теперь вместо isset($_GET['mykey']) ? $_GET['mykey'] : '' можно указать $_GET['mykey'] ?? "";
- Возможность явного определения (https://wiki.php.net/rfc/scalar_type_hints_v5) скалярных типов int, float, string и bool для аргументов и значений функций (например, "function foo(int $abc): int").
- Режим жесткой проверки типов, включаемый директивой "declare(strict_types=1)", при котором несоответствие типа передаваемого функции или возвращаемого функцией значения будет приводить к ошибке.
- Новый оператор комбинированного сравнения "<=> (https://wiki.php.net/rfc/combined-comparison-operator)" с реализацией поведения, похожего на strcmp() и version_compare(), но через использование типового синтаксиса операторов сравнения. В частности, новый оператор позволяет не только проверить идентичность операндов, но и оценить какой из них больше другого (0 - равны, 1 - левый больше, -1 - правый больше);
- Поддержка анонимных классов;
- Поддержка группировки определений (https://wiki.php.net/rfc/group_use_declarations) в операторе use (например, use Doctrine\Common\Collections\Expr\{ Comparison, Value, CompositeExpression };);
- Новый метод Closure::call();
- Дополнительный синтакс для встраивания unicode-строк \u{xxxxxx};
- Поддержка задания массивов констант в операторе define();
- Возможность (https://wiki.php.net/rfc/context_sensitive_lexer) использования зарезервированных ключевых слов в новых контекстах (например, можно определить функцию forEach и она не будет пересекаться с оператором foreach);
- Новый синтаксис "yield from выражение" для делегирования (https://wiki.php.net/rfc/generator-delegation) фукциями-генераторами операций в перемещаемые объекты и массивы.
- В дополнение openssl добавлена поддержка TLS-расширения я ALPN (https://en.wikipedia.org/wiki/Application-Layer_Protocol_Neg... (Application-Layer Protocol Negotiation) для согласования протоколов уровня приложений, используемых для обеспечения защищённого соединения. Используется в SPDY и HTTP/2;
- Унификация (https://wiki.php.net/rfc/uniform_variable_syntax) синтаксиса определения переменных и переход к использованию AST (https://wiki.php.net/rfc/abstract_syntax_tree) (Abstract Syntax Tree). Изменение некоторой редко используемой семантики комбинирования переменных (например, $foo->$bar['baz'] теперь интерпретируется как ($foo->$bar)['baz'], а не $foo->{$bar['baz']}). Достаточно большая порция изменений (https://github.com/php/php-src/blob/php-7.0.0alpha1/UPGRADING), нарушающих совместимость;
- Прекращение поддержки старых и не поддерживаемых вызовов SAPI и расширений:
sapi/aolserver, sapi/apache
sapi/apache_hooks,
sapi/apache2filter,
sapi/caudium,
sapi/continuity,
sapi/isapi,
sapi/milter,
sapi/nsapi,
sapi/phttpd,
sapi/pi3web,
sapi/roxen ,
sapi/thttpd,
sapi/tux,
sapi/webjames,
ext/mssql и
ext/sybase_ct;URL: http://php.net/index.php#id2015-07-09-1
Новость: http://www.opennet.me/opennews/art.shtml?num=42596
А есть ppa для бубунты?
Модератора материнку делал
> в которых устранены пять уязвимостей и исправлено около десяти ошибок.YetAnotherOnanym дело говорит http://www.opennet.me/openforum/vsluhforumID3/103511.html#43
Все-таки правильно я сделал когда в свое время обошел костыль под названием PHP и изучил Perl и Java.
Нашего полку прибыло :)
>> в которых устранены пять уязвимостей и исправлено около десяти ошибок.
> YetAnotherOnanym дело говорит
> Все-таки правильно я сделал когда в свое время обошел костыль под названием
> PHP и изучил PerlЗдесь не знаю, а на ленте DSA 1шт. в 2013 + 1шт.в 2013 (на вскидку по архиву RSS). Это немного, да.
https://www.debian.org/security/И всякие lib-xxx-perl, 4 в '15, 4 в '14, 1 в '13, 1 в '12.
> и Java.
А вот "оно" -- по расписанию, раз в месяц, вроде же? "Исправлено 37/45/58/сколько-$там уязвимостей". Не больше ли, чем в $SUBJ получается? //Его даже iZEN бросил!
--И да, я посмотрел bash, awk и sed! [Интригую.] Заинториговал?:)) //и ssh, ssl...
> PHP 5.6.11, 5.5.27 и 5.4.43 с устранением уязвимостейИсправляли... исправляли и не исправили.
> sapi/aolserver, sapi/apache sapi/apache_hooks, sapi/apache2filter, sapi/caudium, sapi/continuity, sapi/isapi, sapi/milter, sapi/nsapi, sapi/phttpd, sapi/pi3web, sapi/roxen , sapi/thttpd, sapi/tux, sapi/webjames, ext/mssql и ext/sybase_ctотсюда http://www.opennet.me/openforum/vsluhforumID3/103523.html#19 :
> EJB, CDI, JPA/JTA, JMS, JAX-RS/WS, Servlet, JSP/JSF, Jaxb ... JBoss/WildFly, Glassfish, Weblogic, WebSphere
просто мысли.. (но тошнит одинаково)
стырили фичи из Python-а:>>Новый синтаксис "yield from выражение"
>>Дополнительный синтакс для встраивания unicode-строк \u{xxxxxx}
>> и опциональная ставка в хетейбли тем не менее, при всем постепенном приближении фич к развитым языкам, у PHP отвратительный синтаксис и не предсказумое поведение в зависимости от настроек php.ini от платформы к платформе.
хетейбл -> хэштейбл
> хетейбл -> хэштейблhatable indeed :)
>от платформы к платформе.должны страдать
Типа терь модно номера мажорных версий пропускать?
https://wiki.php.net/rfc/php6
Про изменения, ломающие совместимость - http://habrahabr.ru/post/262367/
как они задрали