Заканчивается очередной субботний рабочий день, впереди еще много работы перед выпуском новой версии, но не могу не поделиться несколькими скриншотами из разработки. На них можно увидеть что из себя будет представлять новый модуль Бизнес-процессов, если включить воображение, то можно даже угадать функционал
Хотя эта новость уже прошла как через наши каналы, так и через Майкрософт, но как принимавший непосредственное участие в этом процессе скажу от себя.
Мы не в первый раз проходим различные тесты для разных платформ. Это был и MySQL, это были и Platform тесты для Microsoft Windows Server 2003 и Microsoft SQL Server 2005. Совсем недавно мы подтвердили свою совместимость с Microsoft SQL Server 2008. Но все тесты фактически сводились к формальному подтверждению работоспособности продукта под ту или иную СУБД или платформу.
Одна из новинок в восьмой версии PHP продуктов – Персональный рабочий стол.
Для начала рассмотрим его снаружи.
Рабочий стол представляет из себя набор гаджетов, блоков с различной информацией (не путать с модулем Информационные блоки, это совсем другое), которые можно перетаскивать по столу и настраивать для каждого из них какой-то минимальный набор самых простых параметров. В комплект в Главный модуль входит следующий набор гаджетов: избранные ссылки, заметки, пробки, RSS читалка, прогноз погоды. Каждый их них может настраиваться авторизованным пользователем и его настройки и расположение гаджетов на персональном столе запоминаются. В модуле Корпоративного портала гаджетов гораздо больше, каждый из них выполняют свою маленькую, но очень полезную информативную функцию.
Вышла восьмая версия наших обоих PHP продуктов, кто-то скажет "ничего нового", кто-то "лучше бы сделали другое..", но наш PHP отдел, несмотря на многочисленные, но мелкие, никому незаметные доработки, все-таки сделал несколько глобальных изменений. Одно из них, конечно, модуль "Проактивной защиты", про который я бы хотел сказать несколько слов.
Этот модуль мы придумали и сделали только после того, как несколько относительно крупных проектов были атакованы, используя уязвимости не в наших компонентах и модулях, а в их модифицированных версиях, которые были написаны не нашими разработчиками.
Дело в том, что, проектируя архитектуру, я всегда придерживаюсь принципа - любой программист-новичок должен мочь легко выполнить типичные для разработки сайта операции: убрать/добавить ссылку, сменить расположение элементов, верстку и т.п.. Для этого мы когда-то в четвертой версии разработали технологию Компоненты 2.0, которая успешно живет и по сей день. Вообще, про идеологию Компонент 2.0 я напишу в другой раз, т.к. далеко не все понимают ее преимущества, ограничения и правила эксплуатации .
Так вот, я отвлекся, одна из наших целей это обезопасить неопытных программистов, которые разрабатывают сайты, от ошибок, в том числе от ошибок безопасности, поэтому все API функции мы защищаем от различных уязвимостей типа SQL инъекций, а переменные в шаблонах от XSS уязвимостей, делая все параметры безопасными в коде компонентов и API, т.е. мы изначально позволяем не думать о такой "второстепенной" проблеме как безопасность для удобства программирования и "красоты" кода - все параметры в шаблоне уже безопасны и готовы к употреблению (выводу в HTML).
Но, как показывает практика, такая перестраховка не всегда спасает и некоторые разработчики все-равно кое-где оставляют код типа <?=$_REQUEST["var"]?>, против которого мы никак не могли противостоять до выхода модуля Проактивной защиты.
Так как и когда использовать этот модуль?
Модуль состоит из нескольких видов защит: 1. Проактивный фильтр - фильтрует все входящие параметры на предмет потенциально опасных данных, используемых при типичных атак. 2. Защита сессий - позволяет избежать атак, связанных с воровством идентификаторов сессий. 3. Антифишинг - блокирует внешние переходы через сайт, если они не были сделаны с самого сайта. 4. Одноразовые пароли - защищает от постороннего входа на сайт в случае утери или перехвата пароля. 5.6... Журнал вторжений, блокировка активности, защита котрольной панели... Подробно об этих функциях в своем блоге уже писал Сергей Рыжиков: http://www.1c-bitrix.ru/blog/rsv/841.php
Лично про наши сайты я могу сказать, что у нас, например, включен Проактивный фильтр, но на форумах часто размещают примеры PHP или javascript кода (а в техподдержке в обращениях постоянно!), поэтому мы сразу отключили его для этих страниц. Вообще "Проактивный фильтр" нужен для случаев, когда вы неуверены в качестве кода который принимает и, в основном, выводит данные, принятые от пользователей. Но все что мы (Битрикс) производим, проходит многократную проверку у наших штатных "хакеров", поэтому наш код и код, написанный грамотными специалистами, был и будет безопасными даже без этого модуля.
Вообще, мое мнения, что такие универсальные методы защиты ослабляют внутреннюю, подсознательную защиту пользователей/клиентов. Лично по своему опыту могу сказать, что наши сотрудники, которые пользуются антивирусами, фаерволами и т.п. гораздо чаще заражаются всякими вирусами и шпионами, чем те, которые, понимая всю ответственность за каждый клик, скачивание, обновление, работают без лишних тормозящих компьютер программ. Все дело в культуре, будь то культура программирования или культура использования. Никакая программа или модуль не защищает вас на 100%. Нужно понимать от чего тебя может спасти этот модуль или программа, а от чего нет... а где они тебе будут мешать... Вера в то, что кто-то за тебя будет думать и оберегать тебя только вредит, так даже в жизни не бывает - надел бронежилет и в криминальный район, а преступник с битой - бронежилет не помогает Вообще это, на мой взгляд, большая проблема нынешнего Интернета и его "новеньких" пользователей. Я как-то наблюдал как сестра жены ищет себе реферат с моего ноутбука - я реально поседел, глядя как она уверенно и безрассудно кликает во все что "кликается".
Все чаще "ломают" не через сайт или ПО на сервере, а через, так называемый, социальный фактор: телефоны, письма от типа друзей, флэшки, воруют аськи, в офисах слабая защита локальных сетей (вообще никакая). Хочешь спать спокойно: выключи все из розетки или используй грамотных администраторов, обучи сотрудников, сделай сайт у квалифицированных разработчиков, в крайнем случае, включи модуль "Проактивной защиты" В любом случае, я отвлекся, модуль получился мощный, благодаря ему мы уже нашли потенциально уязвимые места в продукте и исправили их, сделав его более надежным и неуязвимым.
Дальше рассказ о новом функционале "Персональный рабочий стол".
Всем привет! Сегодня мы поговорим про Корпоративный Портал. И пока собирается и тестируется очередное обновление модуля intranet, расскажу про новую фичу, доставившую мне лично немало головной боли.
Следующий функционал, который мне хотелось бы представить, это типы свойств инфоблоков "Привязка к Яндекс.Карте" и "Привязка к карте Google Maps", которые доступны начиная с версии 7.1.3 модуля "Управление структурой" (на момент написания поста обновление еще только готовится к выпуску. - Maks Sidorenko).
Пока что типы представлены в достаточно упрощенном варианте, но наш паровоз летит вперед и на достигнутом останавливаться не собирается.
В обновлении 7.1.2 модуля "Управление структурой" появились новые компоненты для работы с картами Google Maps.
Компоненты по структуре, интерфейсу управления, да и по внешнему виду тоже, абсолютно идентичны компонентам Яндекс.Карт. Т.е., мы имеем те же самые компоненты Настраиваемой карты (bitrix:map.google.view), Поиска по карте (bitrix:map.google.search) и служебный компонент, отвечающий, собственно, за отображение карты (bitrix.map.google.system).
Выдалась свободная минутка и я хотел бы рассказать про наш некоммерческий продукт "Битрикс: Веб-окружение".
Немного истории:
Когда-то, очень давно, мы поставляли дистрибутивы в виде архивов, но чтобы установить продукт под Windows платформу приходилось скачивать и ставить много другого ПО:
Веб-сервер, PHP с нужными модулями, MySQL, Zend Optimizer и все это еще приходилось долго настраивать. К тому же, это занимало много-много десятков мегабайт, а тогда "выделенок" было мало
Мы подумали и собрали минимальный пакет необходимых приложений, настроили его и стали вместе с демо-версией распространять и устанавливать все вместе.
Прошло много лет, некоторые компании (вроде MySQL) изменили лицензионную политику, а потом и хозяев, и получилось что мы стали нарушать лицензию GNU GPL. Чтобы быть честными, но не терять удобство установки, нам пришлось менять все в корне.
Много вопросов по поводу что из себя будет представлять модуль "Социальные сети".
Модуль соцсетей выйдет в октябре, уже сейчас наши партнеры могут его видеть в "Корпоративном портале", а в ближайшем будущем это станет возможно и "простым смертным" в триале нового продукта.
Если коротко о модуле, то основные его функции: - персональный профайл пользователя с возможностью размещать расширенную информацию о себе (фотогалерея, "стена"(форум), блог), права на все. - "группы", они же "клубы", "сообщества", с членством, модераторами, правами доступа, групповым блогом, фотогалереей. - персональные сообщения (+чат). - нотификация о системных событиях, новых сообщениях. - "друзья", "друзья друзей", приглашения, черные списки. + сейчас в разработке: - классификатор пользователей, поиск по ним
В общем, по функционалу собрать аналог "одноклассников" или им подобных, и даже лучше, можно легко В ближайшее время мы попробуем организовать соцсеть разработчиков на нашем сайте.
Долгое время все мы наблюдали на этом сайте обратный отсчет с прогрессивным, но никому не понятным пояснением "Все меняется", который должен был обнулиться 29.09.2008 14:00:00 по столичному времени. Было много догадок - что же именно изменится? И вот счетчик приблизился к нулю. Ровно в 14 часов я нажал на кнопку...
Для начала представлюсь - Юрий Тушинский, технический директор компании "Битрикс". Будучи архитектором, консультантом, программистом, координатором и т.п., ну а по сути "директором по производству", я давно замечаю, что наша самая значимая аудитория - разработчики, зачастую обделена качественной и профессиональной информацией о технической стороне наших продуктов. Пора что-то менять
В этом блоге я (надеюсь и мои коллеги) будем публиковать что нового появилось в наших продуктах, что появится, интересные особенности продуктов, ну и вообще как мы живем