Блог пользователя - Ильич Рамирес Санчес

Drupal 6.22 и 7.2

26 мая 2011 в 1:16

Дырке нашли.
Цытато:

-------- DESCRIPTION
---------------------------------------------------------

Multiple vulnerabilities and weaknesses were discovered in Drupal.

.... Reflected cross site scripting vulnerability in error handler

A reflected cross site scripting vulnerability was discovered in Drupal's
error handler. Drupal displays PHP errors in the messages area, and a
specially crafted URL can cause malicious scripts to be injected into the
message. The issue can be mitigated by disabling on-screen error display at
admin/settings/error-reporting. This is the recommended setting for
production sites.

This issue affects Drupal 6.x only.

.... Cross site scripting vulnerability in Color module

When using re-colorable themes, color inputs are not sanitized. Malicious
color values can be used to insert arbitrary CSS and script code. Successful
exploitation requires the "Administer themes" permission.

This issue affects Drupal 6.x and 7.x.

Бодрячком, пацанчики. Бодрячком. Обновляемся. Smile

сервис для проверки качества приложений qa.drupal.org кто-то пользовал?

20 мая 2011 в 14:28

Народ, кто-то эту фигню пользовал в своих модулях?
я думаю со временем весь свой код под TDD перелопатить.

как оно? с чем едят? какие косяки возможны?

Кто пишет модули под тесты? Я так понимаю 7ка задает моду на тестирование каждого вызова.
С чего начать чтобы много не бегать вокруг да около?

господа, считающие что TDD не нужно, просьба тут не писать. меня волнует процесс этого дела применительно к разработке, а не это ваше особое мнение

Masterhost и Imagecache[РЕШЕНО]

13 апреля 2011 в 3:41

Господа, у нас тут внезапно перестал работать imagecache на шареде Smile
Вместо картинок отдается 404 мастерхоста и управление не доходит до друпала.

Кто на .м, дружно проверяем любой адрес с несуществующей картинкой типа /1111.jpg
Если ответил не drupal а показало 404 с эмблемой мастерхоста - это оно. походу 404 их нгинх выдает или че там фронтендом

UPDATE:
решилось тикетом следующего содержания.
для инвалидов тех кто не технарь - пригодится.

Quote:
Добрый день.

У нас уже стоит в .htaccess строка ErrorDocument 404 /index.php
и раньше все корректно работало. Все 404 ошибки успешно перенаправлялись на CMS Drupal.
Сейчас происходит тоже самое но не для всех страниц.
например урлы оканчивающиеся на .js, .jpg, .png, .txt, .flv (и на прочие типы материала) дают стандартную 404 страницу мастерхост.
таким образом, мы предполагаем, что до апача с modrewrite запрос попросту не доходит и это делается на фронтенде(nginx, или что вы там применяете).

Как пример http://*******.ru/1.jpg, http://**********.ru/1.txt дают 404 мастерхоста, однако http://**************.ru/jdsfjhfkj дает 404 страницу друпала как положено.

Убедительная просьба, настройте фронтенд правильно, поскольку это мешает обработке изображений на сайте.

Вообще, мастерхост в частности мне не нравится этими внезапными сменами конфигураций, когда все перестает работать.

Демосайт. Демонстрация работы модуля advimage + проба хостера.

24 марта 2011 в 1:11

По следам топиков о добровольцах для тестирования хостинга и моего топика про релиз галереи.

Запущен демосайт, где можно зарегистрировавшись, посмотреть как работает advimage, advupload в рамках сборки brainstormblogger.
Загрузить картинки. Поиграться с галереями.

Наладка самой сборки заняла полчаса. Наладка хостинга порядка 20 минут с учетом того что я настроил apache немного по своему.(завтра вышлю пару интересных мыслей в письме).

В общем, прошу мучать пациента всех желающих http://advimage.brainstorm.name/

UPDATE от 11.04.11. походу товарищи из eurobyte.ru внезапно забыли что дали хостинг сроком на полгода под проект, а не на месяц.
И требуют денег за размещение. Smile
Посему ищется хостинг под демосайт, или дней через 10 он будет выключен. У себя эту штуковину мне держать нет интереса.

Галерея.

27 февраля 2011 в 13:09

Представляю новый модуль для галерей изображений - advimage.
Данный модуль предназначен для удобной работы с галереми изображений.

  • Использует CCK поля в своей работе, что упростит расширяемость при использовании
  • Имеет форму редактирования галереи, где можно изменить сортировку изображений, добавить или убрать из галереи те изображения, что не нужны
  • Дополнительные страницы списка галерей, списков изображений пользователя, общие списки на сайте
  • Cовместим с open groups

Рекомендуется к использованию совместно с модулем advupload для удобной загрузки большого количества изображений.

Загрузить модуль можно на странице проекта на drupal.org http://drupal.org/project/advimage

Полее полное описание что там внутри - можно посмотреть здесь: http://brainstorm.name/node/350.html

Любая помощь по проекту приветствуется. Перевод на D7 будет в ближайшее время. Стабильный релиз будет в ближайшие пару дней.

PS: не надо рассказывать про тонны модулей галерей - тот функционал который реализован у меня - в них отсутсвует.
PPS: это не очередная попытка сделать говногалерею на множественном imagefield. Это попытка реализовать то что устраивало бы меня лично.

Brainstormblogger 1.1 release

14 января 2010 в 18:54

Выпущен релиз сборки brainstormblogger, версия 1.1.

Изменения:

  • Порядок комментариев теперь как надо
  • В случае доступности ckeditor(а в сборке он доступен) он включается визуальным редактором по умолчанию
  • Подправлены фильтры форматов ввода
  • Функции установки в сборке разделены по разным функциям
  • captcha - по умолчанию теперь нормально работает. Включенна текстовая капча

Брать здесь.
Дальнейшие планы

  • сделать модуль обновлений
  • систему пресетов для поддерживаемых модулей(для установки+настройки модуля одним щелчком мышки)
  • поднять сайт проекта: brainstormblogger.org для англоязычных и brainstormblogger.ru для русскоязых пользователей,
  • стимулировать пользователей и разработчиков на переводы модулей, которые будет задействовать сборка.

Если есть желание оказывать содействие проекту - добро пожаловать.

Инсталляционный профиль для Drupal и сборка brainstormblogger

10 января 2010 в 5:10

Начну издалека.
Есть Drupal, есть Wordpress, есть другие системы.
Но почему то Drupal не так популярен в среде блоггеров. А все достаточно просто.
Сделать базовые настройки для непосвященного на сайте - большая проблема. Соотвественно новичку проще поставить что-либо еще, тот же Wordpress в котором и редактор визуальный есть, и категории не надо мучаться крутить, в общем все есть для ведения блога из коробки.

Было решено создать инсталляционный профиль,который позволить создать настроенный сайт для блоггера парой кликов мышки, с выбором темы оформления, и т.д., с настроенным WYSIWYG, настроенными пермалинками и тд. То есть, распаковал архив, подготовил settings.php, запустил и получил результат.

Итак. Представляю вам сборку brainstormblogger в которой все это есть.
Задействованы: filefield, imageapi, imageapi_gd, imagecache, imagecache_ui, imagefield, lightbox2, no_anon, pathauto, persistent_login, tagadelic, token, uploadpath, wysiwyg, admin_menu

Вам нужно просто пару раз щелкнуть мышкой, чтобыполучить настроенные редакторы, форматы ввода, и типы материалов, а также русский перевод, настолькополный насколько он полон на drupaler.ru(спасибо PVasil)

Основная страница проекта на русском: http://brainstorm.name/russian/brainstormblogger.html
Проект на drupal.org для желающих "поиграть в конструктор": http://drupal.org/project/brainstormblogger

Отдельное спасибо Егору(gor) за идею и предоставленный для тестов хостинг.

mysql, drupal и persistent connections

15 ноября 2009 в 3:21

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

Drupal в includes/database.mysql.inc использует mysql_connect который нельзя просто так поменять на mysql_pconnect по простой причине:
Вы получите кучу соединений с блокировками таблиц(через LOCK TABLES) и временными таблицами, висящими до истечения таймаута.

Однако проблема решается, если переписать драйвер mysql для друпала учитывая это.

Сайт посвященный празднованию дня системного администратора

22 июля 2009 в 11:10

Для сибирских сисадминов на скорую руку был слеплен сайтик.
Задействована тема Deco - единственное что поправил - разнес загрузку css иначе, потому как не происходило корректного сжатия CSS.
+ немножко дописывал CSS темы "под модули"
Модули:
Из стандартных:

  • Blog
  • Book
  • Comment
  • Database logging
  • Forum
  • OpenID
  • Path
  • PHP filter
  • Ping
  • Poll
  • Profile
  • Statistics
  • Syslog
  • Taxonomy
  • Tracker
  • Trigger
  • Update status
  • Upload

Из добавленных:

  • CAPTCHA+Image CAPTCHA
  • Google Analytics
  • Tagadelic
  • XML sitemap
  • Better Formats
  • BUEditor
  • DST - мое - для нормальной поддержки часовых поясов.
  • Meta tags
  • Pathauto
  • Persistent Login
  • Service links
  • Token
  • Upload path
  • + собственный модуль HTML корректора взамен того стандартного фильтра что суется с дру.

Такие дела.
Сам сайт: http://sadays.malyhin.info/

Новая тема блога

13 апреля 2009 в 13:08

Весеннее обострение сказывается на всех нас, разработчиках, клиентах, посетителях сайтов.
Меня стороной оно тоже не миновало. Надоело стандартное оформление Zen Classic на блоге.

Сделал свое. Общая канва такая, хотя все еще не окончательно - тема будет немного меняться - добавятся значки, сменится расположение окон.
Хотелось весеннего настроения и зелени.

http://brainstorm.name/

Смотрите Smile

Даты на человеческом русском

16 февраля 2009 в 22:00

Вот такой фигней приходится маяться.

function russian_normal_date($timestamp, $tricks = false, $capi = false){
    $monthes = array(
        'января', 'февраля', 'марта',
        'апреля', 'мая', 'июня',
        'июля', 'августа', 'сентября',
        'октября', 'ноября', 'декабря'
    );
    $dt = '';
    if($tricks){
        $d = format_date($timestamp, 'custom', 'Ymd');
        $t = time();
        $dtd = format_date($t, 'custom', 'Ymd');
        $dtmr = format_date($t + 86400, 'custom', 'Ymd');
        $dyst = format_date($t - 86400, 'custom', 'Ymd');
        if($d == $dtd) $dt .= $capi ? 'Сегодня, ' : 'сегодня, ';
        else if($d == $dyst) $dt .= $capi ? 'Вчера, ' : 'вчера, ';
        else if($d == $dtmr) $dt .= $capi ? 'Завтра, ' : 'завтра, ';
    }
    $dt .= sprintf(
        format_date($timestamp, 'custom', 'j %\s, G:i'),
        $monthes[format_date($timestamp, 'custom', 'n') - 1]
    );
    return $dt;
}

А как вы решате подобные проблемы если надо "очеловечить" сайт?

Маскировка путей

4 августа 2008 в 19:30

Добавляем в settings.php функцию вида:
<?php
function custom_url_rewrite($op, $result, $path) {
global $user;
if ($op == 'alias') {
if($result != $path) return $result; // there was result already
// Overwrite a menu path already defined, with this code, if the user
// goes to 'tracker', the page 'views/tracker' will be displayed instead
// without any redirection. To achieve this, only the op source act is a
// must, this is optional.
if ($path == 'views/tracker') {

Шкурка

23 июля 2008 в 13:53

Мы сменили обертку. http://insourcing.ru/

Решили поэкспериментировать, сделав все размеры шрифтов сайта относительными.
Есть правда риски что шапка разлезаться кое у кого будет Biggrin

Модуль для поддержки временных зон в Drupal 6

15 июля 2008 в 21:37

Портировал свой модуль с D5 на D6
Брать здесь - http://brainstorm.name/blog/drupal5dstmodule

Пробуйте, ругайте. Smile

Модуль Google Map

10 июля 2008 в 23:22

Написал свою реализацию "под задачу" модуля для Google Map.
Для заданных нод можно указывать до 50 местоположений на карте.

Брать здесь http://brainstorm.name/products/googlemap.html

Кеширование на файлах. Новая версия. Более тормозно но более гибко

2 июля 2008 в 3:48

Берем 5ый друпал. Zend_Framework - кладем его в подкаталог library.
В $conf путь к ZF определяется так.
'filecache_zend_path' => 'library' . PATH_SEPARATOR . 'library' . DIRECTORY_SEPARATOR . 'Azarov',

От ZF на самом деле надо очень мало - следующие файлы и каталоги:
Cache, Cache.php, Exception.php, Loader, Loader.php, Version.php

В комментариях описаны примерные конфигурационные параметры.
По умолчанию пользуется стандартный зендовский класс Zend_Cache_Backend_File.
У меня есть своя его версия чуть получше - чистка мусора в ней проводится раз в 5000 раз или как задашь и актуальность записей оценивается по своему.

Поиск и как переопределить индексацию

25 мая 2008 в 3:46

По следам написанной статьи

Как всем известно при индексировании ноды модуль поиска использует node_view. Берет текст оттуда.... Пхает в индекс.

А у меня задача - пхать не весь текст... Так вот - возникла идея как понять что node_view дернута не из просмотра ноды...

Простая и тупая. Урл то будет не node/12356. А следоовательно зная номер ноды, проверив
arg(0) == 'node' и arg(1) == $nid мы можем убедиться что это стандартный просмотр.

А в остальных случаях node_view дергается чем то еще...

Модуль для работы временных зон в Drupal 5

18 мая 2008 в 22:27

Как мне известно практически все CMS с открытым кодом страдают этой болезнью :).

А суть ее такова. Все мы с вами живем в разных часовых поясах. Drupal да и другие - решают эту проблему стандартно. Суммируют смещение. И никто, насколько я понима. не задумывался что date() ведь зависти от текущей временной зоны прописанной в системе. Как и другие функции в PHP, идущие по сути из библиотек языка C.

Я сделал модуль и мааааааааленький патч., который решает эту проблему.