Какой рейтинг вас больше интересует?
|
Главная / Главные темы / Тэг «wba»
[Перевод] Ломаем сбор мусора и десериализацию в PHP 2016-08-24 14:11:50
+ развернуть текст сохранённая копия
Эй, PHP, эти переменные выглядят как мусор, согласен?
Нет? Ну, посмотри-ка снова…
tl;dr:
Мы обнаружили две use-after-free уязвимости в алгоритме сбора мусора в PHP:
- Одна присутствует во всех версиях PHP 5 ≥ 5.3 (исправлена в PHP 5.6.23).
- Вторая — во всех версиях PHP ≥ 5.3, включая версии PHP 7 (исправлена в PHP 5.6.23 и PHP 7.0.8).
Уязвимости могут удалённо применяться через PHP-функцию десериализации. Используя их, мы отыскали RCE на pornhub.com, за что получили премию в 20 000 долларов плюс по 1000 долларов за каждую из двух уязвимостей от комитета Internet Bug Bounty на Hackerone.
Читать дальше →
Тэги: group, mail.ru, php, web-разработка, безопасность, блог, веб-сайтов, веб-сервисов, информационная, компании, разработка, тестирование
[Перевод] Массивы в РНР 7: хэш-таблицы 2016-08-22 19:17:55
Хэш-таблицы используются везде, в каждой серьёзной С-программе. По сути, они позволяют программисту ...
+ развернуть текст сохранённая копия
Хэш-таблицы используются везде, в каждой серьёзной С-программе. По сути, они позволяют программисту хранить значения в «массиве», индексируя его с помощью строк, в то время как в языке С допускаются только целочисленные ключи массива. В хэш-таблице строчные ключи сначала хэшируются, а затем уменьшаются до размеров таблицы. Здесь могут возникать коллизии, поэтому нужен алгоритм их разрешения. Существует несколько подобных алгоритмов, и в РНР используется стратегия связных списков (linked list).
В Сети есть немало замечательных статей, подробно освещающих устройство хэш-таблиц и их реализации. Начать можно с http://preshing.com/. Но имейте в виду, вариантов структуры хэш-таблиц — несметное множество, и ни один из них не совершенен, в каждом есть компромиссы, несмотря на оптимизацию циклов процессора, использования памяти или хорошее масштабирование потокового окружения (threaded environment). Одни варианты лучше при добавлении данных, другие — при поиске и т. д. Выбирайте реализацию в зависимости от того, что для вас важнее.
Хэш-таблицы в РНР 5 подробно рассмотрены в материале phpinternalsbook, который я написал вместе с Nikic, автором хорошей статьи про хэш-таблицы в РНР 7. Возможно, её вы тоже сочтёте интересной. Правда, она писалась до релиза, поэтому некоторые вещи в ней слегка отличаются.
Здесь же мы подробно рассмотрим, как устроены хэш-таблицы в РНР 7, как с ними можно работать с точки зрения языка С и как ими управлять средствами РНР (используя структуры, называемые массивами). Исходный код в основном доступен в zend_hash.c. Не забывайте, что хэш-таблицы мы используем везде (обычно в роли словарей), следовательно, нужно проектировать их так, чтобы они быстро обрабатывались процессором и потребляли мало памяти. Эти структуры решающе влияют на общую производительность РНР, поскольку местные массивы не единственное место, где используются хэш-таблицы.
Читать дальше →
Тэги: group, mail.ru, php, web-разработка, блог, веб-сайтов, интерпретаторы, компании, компиляторы, покровов, разработка, срыв
[recovery mode] CSS наших дней 2016-08-16 06:29:05
Лучшие практики стилизации элементов сейчас можно выразить следующими тезисами:
+ развернуть текст сохранённая копия
Лучшие практики стилизации элементов сейчас можно выразить следующими тезисами:
- Старайтесь стилизовать элементы так, чтобы их визуализация не ломалась при перемещении их в другое место. Из этого принципа следует, что стоит минимизировать использование составных селекторов (например, вида
header p a ).
- Используйте пространства имён, чтобы минимизировать вероятность конфликтов правил относящихся к разным элементам. Это приводит к длинным именам, но избавляет от кучи проблем в будущем.
Итак, какие возможности для привязки стилей к элементам у нас есть сейчас? У любого элемента есть следующие характеристики:
- Имя элемента
- Идентификатор
- Набор классов
- Набор атрибутов
- Набор свойств
Давайте посмотрим, как мы можем их использовать, на примере простого списка задач, содержащего карточки с названием задачи и оценкой времени её выполнения... Читать дальше →
Тэги: css, web-разработка, веб-сайтов, разработка
Изменения в CleverStyle Framework 5 2016-08-11 20:52:04
Некоторое время назад вышел первый релиз ветки 5.x, а потом несколько меньших патч-версий, так что ...
+ развернуть текст сохранённая копия
Некоторое время назад вышел первый релиз ветки 5.x, а потом несколько меньших патч-версий, так что опять есть чего рассказать.
Предыдущие изменения: часть 1, часть 2, часть 3, часть 4.
Комментарии под предыдущей статьей и в чатиках были весьма полезными, отдельное спасибо fesor, который хоть и не согласен, но предоставляет конструктивную критику, которая имеет позитивные последствия.
Множество изменений сделали систему быстрее, легче и удобнее чем когда-либо до этого. В статье кратко об основных изменениях, их причинах и последствиях.
Читать дальше →
Тэги: cleverstyle, cmf, cms, framework, php, polymer, web-components, веб-сайтов, разработка
Kwork — отличная альтернатива фриланс биржам. 2016-08-10 11:09:07
Блуждая по просторам блогосферы наткнулся на пост господина Терехова о новой площадке для ...
+ развернуть текст сохранённая копия
Блуждая по просторам блогосферы наткнулся на пост господина Терехова о новой площадке для фрилансера и заказчика — Магазин фриланс услуг Kwork. Сегодня и хотелось бы поведать Вам об этом новом сервисе, так сказать поделиться впечатлениями, от давно мне известной компании Mirafox. Чем же примечательна данная витрина услуг и заказов по единой цене, давайте разберемся. Первое…
Запись Kwork — отличная альтернатива фриланс биржам. впервые появилась Блог копирайтера и программиста..
Тэги: seo, web, заработок, кворк, фриланс
Главная / Главные темы / Тэг «wba»
|
|