Небуферизованные запросы: снижаем потребление памяти WordPress

Пиковое потребление оперативной памяти WordPress можно снизить приблизительно два раза и практически бесплатно. В чём секрет? В использовании правильных функций для работы с базой данных.

Опытные программисты знают, что API MySQL предоставляет два варианта работы с результатом запроса:

  1. Последовательная обработка результата — при этом не происходит никакой буферизации результата, данные отдаются от сервера клиенту, минуя временные таблицы и буфера. В этом случае обработка результатов может производиться только последовательно.
  2. Буферирование результата запроса — результат полностью читается во временный буфер, что позволяет осуществлять произвольный доступ к результату.

Далее »

Автор: Wandering Soul, опубликовано в: WordPress, комментариев: нет
2
Сен
2010

Как правильно использовать диапазон портов в –sport и –dport в iptables с использованием multiport

Ситуация: нужно закрыть UDP-порты в трёх диапазонах: 1…52, 54…122, 124…1024. При этом если стук в порт идёт из привилегированного порта (то есть с номером 0…1023), то соединение нужно просто сбрасывать, если же стук идёт с непривилегированного порта, то расценивать это как сканирование и выполнять какие-то действия.

Например, обращение к порту 137 по протоколу UPD может быть как атакой какого-нибудь червя, так и безобидным запросом от NetBIOS. И если запросы, исходящие от NetBIOS, вполне безобидны («рабочий» трафик), то сканирование портов обычно не так безобидно. Далее »

Автор: Wandering Soul, опубликовано в: Linux, комментариев: нет
31
Авг
2010

Google XML Sitemaps: убираем версию и сигнатуру из карты сайта

После установки различных плагинов, отвечающих за псевдобезопасность сайта — например, путем сокрытия используемой версии WordPress, имён и версий установленных плагинов и т.п. — обычно выясняется, что они не могут справиться с : он как выдавал секретные данные о версии WordPress в карте сайта, так и продолжает их выдавать.

Очевидно, что это очень смущает людей, зацикленных на безопасности сайта.

К счастью, это лечится (во всех смыслах). Далее »

Автор: Wandering Soul, опубликовано в: Патчи, комментариев: нет
23
Авг
2010

Как заставить Google XML Sitemaps дружить с WordPress MultiSite

При попытке использования плагина Google XML Sitemaps с WordPress 3.0 в конфигурации , плагин обижается и работать категорически отказывается:

is not compatible.
Unfortunately the plugin was not tested with the feature of WordPress 3.0 yet. The plugin will not be active until you disable the mode. Otherwise go to active plugins and deactivate the plugin to make this message disappear.

Это раздражает. Но к счастью, проблема решаема. Далее »

Автор: Wandering Soul, опубликовано в: Плагины WordPress, комментариев: нет
23
Авг
2010

DoS для PHP через imap_fetchbody

Как оказалось, если передать функции imap_fetchbody() параметр $secton, длина которого больше 1004 байт, падает по segmentation fault. На некоторых конфигурациях с применением некоторых усилий (подробности, понятное дело, разглашаться не будут) получалось вместе с положить и Apache. Далее »

Автор: Wandering Soul, опубликовано в: PHP, комментариев: 1
16
Авг
2010