Давно не делилась с вами сценариями работы с инструментами Битрикс24 и сегодня, хотела бы рассказать о группах и особое внимание уделить правам доступа на данные в них.
Группы – виртуальное объединение людей для решения или обсуждения общих вопросов, целей и задач. В Битрикс24 мы часто называем группы проектами.
Такое название они получили неспроста, группы, действительно, позволяют вести проекты компании, структурировать задачи, файлы, сообщения, планировать встречи, - и все это в рамках одного проекта.
Если у вас закрытый проект, вы можете создать закрытую группу, пригласить в нее необходимых сотрудников, которые будут работать внутри группы, при этом другие сотрудники, не будут иметь доступ к проекту и не увидят его в общем списке.
Если же проект наоборот открытый и в нем могут принять участие все желающие, вы можете создать обычную открытую группу, вступить в которую смогут все сотрудники.
Коллеги, сегодня было установлено небольшое обновление Битрикс24. Основные изменения коснулись технической части, но есть и небольшой список исправлений.
- Исправлена проблема с кодировкой писем в CRM, сейчас все исходящие и входящие письма должны отображаться корректно.
- Добавлено указание название группы в нотификациях о действиях с задачей.
- Исправлена ошибка, когда не пропадала кнопка раскрытия подзадач в диаграмме.
- Исправлена ошибка, когда прикрепленные к задаче файлы не отображались в самой задаче.
- Объявления в группе должны корректно закрываться, если были прочитаны.
- Счетчики задач и фильтры для экстранет пользователей.
- В календарях доступен планировщик событий.
- Добавлена поддержка создания счетов из просмотра контакта и сделки.
- Добавлена поддержка сохранения последних выбранных пользователем местоположений при редактировании счёта.
- Добавлена поддержка сохранения последних выбранных пользователем имён, телефонов и email-адресов при редактировании встреч, звонков и писем.
- Фотографии к сообщениям Живой ленты, создаваемым из мобильного приложения, теперь загружаются в библиотеку документов.
- Исправление незначительных ошибок и мелкие интерфейсные изменения.
Вывешено описание нового ядра. Структурно пока это отдельная глава курса Разработчик Bitrix Framework. Без тестов, без вопросов.
Работа над документацией по 14-ой версии ведётся, но тема нового ядра - особой важности, поэтому и спешим вам сообщить о выходе документации не откладывая.
Как владельцам и администраторам сайтов и интернет-магазинов с небольшим штатом сотрудников быть в курсе состояния их сайтов, помнить о необходимости продления домена, лицензионного ключа и SSL-сертификата? Как получить эту информацию своевременно (и лучше на мобильный телефон) и успеть отреагировать без убытков?
В 14 версии Битрикс предлагает вам решение этой задачи.
Представляем новый облачный сервис “Инспектор сайтов 1С-Битрикс”, который проверяет состояние сайтов в реальном режиме времени и уведомляет вас о “неполадках”.
На каждую сущность программируется свой GetList, Update, Add, Delete. В основном копи-пастом. Недостатки: разный набор параметров; разный синтаксис полей фильтров; события могут быть или не быть; иногда разный код под разные БД (Add).
Какая цель поставлена в новом ядре
Сделать операции выборки и сохранения в БД однотипными, с одинаковыми параметрами и фильтрами. По возможности таблицы сущностей должны обслуживаться с минимумом нового кода. Стандартные события добавления/изменения/удаления должны быть доступны автоматически.
В новом ядре жизненный цикл страницы не изменился. По сути новое ядро - это новая идеология разработки. При этом в продукте продолжает работать весь старый API. И добавляется новый API для разработки в новом стиле.
По возможности, постепенно, старый API должен стать чем-то типа адаптера. Для совместимости. А вся логика с соответствующим рефакторингом должна переехать в новое ядро.
Новое ядро продукта строится на принципах ООП с применением всех возможностей, имеющихся в PHP версии 5.3 (минимальные технические требования).
Модули, пространства имен и API
Продукт остается модульным. Модули располагаются в системной папке /bitrix/modules. Кроме того, появляется еще одна значимая папка /local/modules, в которой могут располагаться пользовательские модули. Такое разделение позволит сторонним разработчикам просто организовать контроль версий своих разработок с сохранением обновляемости продукта стандартной системой обновлений.
Коллеги, рад приветствовать Вас! С момента запуска сканера безопасности в версии security 12.5.0 прошло около полу года. За это время его рекомендации увидело около 12к+ сайтов (суммарно более 50к проверок). Увы, как показывает статистика подавляющее большинство либо игнорирует его рекомендации, либо не знает, что с ними делать. Именно поэтому я решил более детально описать тесты и каким образом трактовать их результаты. Я постараюсь описать лишь наиболее часто встречающиеся угрозы или угрозы, вызывающее наибольшее количество вопросов. Осторожно, ниже обильное количество хардкора.
Локальное сканирование
Как вы знаете из предыдущего поста Сканер безопасности - верный друг и помощник. Сканер разделен на две части - локальную и внешнюю. Локальная - ответственна за проверки, которые невозможно/нецелесообразно выполнить “снаружи”, например, настройки сайта или исполнение php/python/perl/etc скриптов в директории хранения загружаемых файлов гораздо эффективнее проверять именно изнутри. Все проверки сгруппированы по типу (настройки окружения, настройки php, настройки сайта и т.д.), поэтому предлагаю начать по порядку:)
Настройки окружения
Директория хранения файлов сессий доступна для всех системных пользователей Вы можете лицезреть сообщение об этой угрозе, когда директория хранения файловых сессий php (session.save_path, по умолчанию /tmp) доступна для всех (other), например:
$ stat -c 'Perms: %A' /tmp
Perms: drwxrwxrwt
Если вы не используете хранение сессий в БД и пользуетесь shared-хостингом, то в большинстве случаев ваш “сосед” сможет получить полный доступ к вашему сайту, модифицировав сессионные данные. Это хороший повод задать ему вопрос и потребовать внести правки в конфигурацию, таким образом дабы сессионные файлы каждого пользователя были отделены друг от друга, и на эти директории были установлены корректные файловые права. Пользователям выделенных серверов это менее критично, но все же рекомендовано, причем что у вашего администратора это займет не более 10 минут времени;)
Предположительно в директории хранения сессий находятся сессии других проектов Подобное сообщение можно встретить, если несколько сайтов используют одну директорию для хранения сессий. Очень часто это можно встретить при использовании выделенных серверов, когда есть N сайтов и все они хранят свои сессии где-нить в /tmp/php_sess. Начиная с версии main 12.5.0 это стало не столь критично, но тем не менее стоит это исправить указав собственную директорию хранения сессий для каждого сайта. Чем это опасно? При такой конфигурации сессии получаются “сквозные”, т.е., допустим, есть сайт A и сайт B: a) Мы регистрируемся на сайте B, получаем ID пользователя 7; b) Теперь зайдя на сайт A с ID сессии от сайта B, мы окажемся авторизованными под пользователем с ID 7, но сайта A, улавливаете? А что если пользователь с ID 7 на сайте A администратор?
PHP/Python/Perl/etc скрипты исполняются в директории хранения загружаемых файлов Используя API Битрикс, пользователь сайта не может загрузить .php, .py, .psp, .pl и т.д. файлы без наличия необходимых прав. Но к сожалению, как в пользовательском коде, так и в коде разработчиков Маркетплейс все еще встречается “кастомная” загрузка файлов, которая может позволить загрузить файлы с потенциально опасными расширениями. Именно поэтому лучше исключить эту возможность, корректно сконфигурировав ваш веб-сервер.
.htaccess файлы обрабатываются Apache в директории хранения загружаемых файлов Аналогично предыдущему, только вектор атаки через загрузку файлов направлен на загрузку .htaccess файлов с кастомными конфигами. Например такой:
<Files ~ "^\.ht">
Order allow,deny
Allow from all
</Files>
AddHandler zend-enabler-script .htaccess
<IfModule mod_mime.c>
AddType application/x-httpd-php .htaccess
</IfModule>
#<?php assert($_GET[0]); ?>
Apache Content Negotiation разрешен в директории хранения загружаемых файлов Суть проблемы заключается в том, что в конфигурации Apache по умолчанию можно встретить такую строку:
AddHandler type-map .var
Это означает, что если в директории загружаемых файлов у вас будет лежать файл с именем test.var.gif и содержимым:
(вполне валидная картинка по мнению PHP!), то при запросе этого файла нам будет отдано тело с типом text/html, что логично, т.к. обработчики в Apache вызываются до определения типа:
А не как мы ожидали image/gif, что разумеется приводит к возможности XSS нападения: Эта возможность придает гибкости Apache для обработки мультиязычной статики, но безопасности вашего сайта только вредит.
Настройки PHP Еще не устали? Тогда продолжаем! По настройкам PHP зачастую не возникает вопросов, кроме двух:
Разрешено чтение файлов по URL (URL wrappers) Это разумеется один из тез пунктов, за который на меня зол не один разработчик. Но природа PHP такова, что никогда не знаешь с какой стороны получишь поддых:) И если мы хотим повысить безопасность нашего сайта - allow_url_fopen должен быть Off, дабы оградить разработчика от "сюрпризов"
Cookies доступны из JavaScript Имеется в виду, что при установке cookie ваш сайт не передает дополнительный флаг httpOnly для HTTP-заголовка Set-Cookie, который указывает на запрет чтения/записи данных Cookie посредством JavaScript, отсюда и название. Увы XSS атаки наиболее распространены, и получить пользовательские cookies это самый простой их вектор (сейчас все чаще XSS нападение используется для CSRF атак). Поэтому необходимо использовать любую возможность для уменьшения рисков. Флаг httpOnly рекомендуется указывать как минимум для ID сессии, для этого достаточно в настройках php указать:
Настройки сайта Так же как и в случае с настройками PHP - проблем обычно не возникает, т.к. исправление обнаруженных угроз достаточно тривиально. По моему мнению требует объяснений лишь одна:
Ограничен список расширений исполняемых файлов Т.к. администратор сайта вправе изменять этот список по своему усмотрению, он может устаревать со временем (когда мы решаем добавить какое-либо расширение в список опасных, к примеру, как было с var). Сканер безопасности сообщит вам, если в вашем кастомизированном списке содержаться не все необходимые расширения.
Пользователи Эти проверки появились только в security 14.0.3. Основная их цель - проверить все ли привилегированные пользователи используют MFA, у всех ли установлен пароль достаточной сложности и т.д. Увы, на текущий момент по политическим соображениям включена только одна:
У некоторых пользователей административной группы установлен слабый пароль Сканер безопасности берет список пользователей из административной группы и пытается подобрать пароль к ним методом перебора по словарю. В случае успеха будет выведен список пользователей, которым необходимо установить более сложный пароль. Зачастую слабый пароль у пользователей административной группы оказывается в следствии того, что изначально они небыли администраторами, т.е. административный доступ предоставляется ранее зарегистрированному пользователю, чьи политики безопасности не требовали стойкого пароля.
Внешнее сканирование
Внешнее сканирование, кажется, заслуживает отдельного поста, но я постараюсь вкратце осветить основные моменты.
Доступен листинг директорий Увы, включенный Directory AutoIndex встречается повсеместно и сулит как минимум неконтролируемым доступом к загруженным пользовательским файлам. Для nginx необходимо убрать директиву autoindex, она выглядит примерно так:
location / {
autoindex on;
...
}
Для Apache это Options +Indexes, как-то так будет выглядеть в конфиге:
Открыт доступ к важным сервисам Всегда помните - все сервисы, необходимые только сайту, не должны “торчать” наружу. Увы, случаи неконтролируемого доступа к критически важным сервисам (например, memcached) - совсем не редкость. Это важный момент, т.к. доступ к memcached, где ваш сайт хранит свой кеш - это по сути полный контроль над ним. Если вы пользуетесь shared-хостингом - это отличный повод для разговора с ним:) Если у вас не кластерная архитектура проекта, то правильнее всего использовать unix-сокет, когда у вас memcached используется для кластера - корректные настройки firewall + SASL.
Инъекция PHP-CGI параметров из строки запроса Тут все достаточно просто:) Есть уязвимость в php: CVE-2012-1823 Она позволяет как читать файлы вашего сайта ( /some_script.php?-s ), так и в большинстве случаев исполнять произвольный php код в контексте вашего сайта. Рекомендуется незамедлительно обновить версию php, либо не использовать php-cgi вовсе
Неправильно сконфигурирована связка Nginx + php-fpm Сколько не бейся над этой темой, но в интернете все еще достаточно много ужасных HowTo’шек по настройке связки nginx + php-fpm, в которых ни слова не сказано о том, что php-fpm с конфигами по умолчанию и локейшн в nginx примерно следующего содержания:
location ~* \.php$ {
fastcgi_pass backend;
...
}
позволит злоумышленнику интерпретировать любой файл как php скрипт. К примеру, обратившись к аватару пользователя таким образом: /upload/main/f6f/photo.jpg/some.php, злоумышленник выполнит php код содержащийся в аватаре (например в EXIF или конце PNG). Наиболее распространенными вариантами решения является либо указание в php.ini (если это удовлетворяет требованиям вашего проекта):
cgi.fix_pathinfo=0
, либо корректно сконфигурировать nginx, учитывая особенности вашего проекта
Открыт доступ к служебным "статус" страницам Так называемые статус-страницы позволяют злоумышленнику получить дополнительную информацию о вашем сайте, которая им столь нужна. Не стоит их радовать, ограничив доступ к ним (а лучше отключив/закрыв авторизацией, т.к. доверять localhost так же не стоит). Наиболее распространенные: Apache mod_status. Например: http://apache.org/server-status И PHP-FPM Status Page (pm.status-path)
Найдены временные файлы При редактировании файлов на сервере по SSH или при использовании DCVS могут создаваться временные копии текущих файлов, в которых может содержаться важная информация (например, все еще актуальные данные о подключении к БД). Внешнее сканирование отобразит вам список всех таких файлов, которые необходимо удалить и понять причину их появления. Так же, возможно, стоит ограничить доступ к таким файлам на уровне веб-сервера.
Найдены опасные файлы Так же достаточно часто встречаются сайты на которых остались какие-то файлы после отладки, установки и т.д. Например: bitrixsetup.php, bx_1c_import.php, restore.php, log.txt и т.д. Внешнее сканирование сообщит вам список найденных файлов, которые в обязательном порядке (!) необходимо удалить.
Доступны настройки PhpMyAdmin Еще одна частая проблема - доступны настройки PhpMyAdmin (папочка setup в новых версиях). Увы, они как минимум позволяют прочесть текущую конфигурацию PhpMyAdmin + в них постоянно находятся новые уязвимости. Внешнее сканирование сообщит вам, куда нужно смотреть;)
Публичный доступ к файлам контроля версий Как ни странно - публичный доступ к служебным каталогам DCVS все еще достаточно актуальное явление. Зачастую это крайне опасно для вашего сайта - необходимо в срочном порядке закрыть доступ к таким каталогам (.git, .hg, .bzr и т.д.) и к файлам игнорирования (.gitignore, .hgignore и т.д.). В идеале необходимо пользоваться экспортом в вашей DCVS. Разумеется, внешнее сканирование сообщит вам куда необходимо смотреть:)
Проверяемый сайт отвечает на хост по умолчанию Это пожалуй одна из самых распространенных ошибок конфигурации для выделенных серверов. Суть проблемы заключается в том, что сайт отвечает на любой Host в заголовке запроса, в следствие чего, например, если $_SERVER["HTTP_HOST"] попадет в кеш компонента, то получаем классический content spoofing. Проверить очень легко, запрашиваем наш сайт с правильным хостом:
$ http -v head some.info
HEAD / HTTP/1.1
Accept: */*
Accept-Encoding: gzip, deflate, compress
Host: some.info
User-Agent: HTTPie/0.6.0
HTTP/1.1 200 OK
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Connection: keep-alive
Content-Encoding: gzip
Content-Type: text/html; charset=windows-1251
Date: Fri, 25 Oct 2013 06:57:31 GMT
Expires: Thu, 19 Nov 1981 08:52:00 GMT
P3P: policyref="/bitrix/p3p.xml", CP="NON DSP COR CUR ADM DEV PSA PSD OUR UNR BUS UNI COM NAV INT DEM STA"
Pragma: no-cache
Server: nginx/1.2.6
Set-Cookie: PHPSESSID=vp93uc1j3avoibvfkusn5p6gc5; path=/; HttpOnly
X-Frame-Options: SAMEORIGIN
X-Powered-CMS: Bitrix Site Manager (a0b80388d20et47833773cf8f6b7c738)
А теперь с произвольным:
$ http -v head some.info 'Host: batman.inc'
HEAD / HTTP/1.1
Accept: */*
Accept-Encoding: gzip, deflate, compress
Host: batman.inc
User-Agent: HTTPie/0.6.0
HTTP/1.1 200 OK
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Connection: keep-alive
Content-Encoding: gzip
Content-Type: text/html; charset=windows-1251
Date: Fri, 25 Oct 2013 06:57:35 GMT
Expires: Thu, 19 Nov 1981 08:52:00 GMT
P3P: policyref="/bitrix/p3p.xml", CP="NON DSP COR CUR ADM DEV PSA PSD OUR UNR BUS UNI COM NAV INT DEM STA"
Pragma: no-cache
Server: nginx/1.2.6
Set-Cookie: PHPSESSID=55up92i9r2sorg24j78lud9li2; path=/; HttpOnly
X-Frame-Options: SAMEORIGIN
X-Powered-CMS: Bitrix Site Manager (a0b80388d20et47833773cf8f6b7c738)
Если мы видим одинаковый контент отданный для правильного и произвольного хоста - у нас неправильно сконфигурирован веб-сервер. Для решения этой угрозы, например, в nginx достаточно добавить сервер по умолчанию с перенаправлением на основной домен, например, такой (domain.com замените на ваш домен):
Перед этим не забудьте убедится что больше нет явно указанных серверов по умолчанию (с директивой default_server) Подробнее в документации nginx
Найден phpinfo() Честно говоря, я этого искренне не понимаю, но с завидным постоянством вижу на сайтах файлы x.php, pi.php, phpinfo.php и т.д. с выводом phpinfo(). Не надо так! Внешнее сканирование укажет список таких файлов, которые необходимо удалить и впредь использовать встроенную в Битрикс админскую страницу с выводом phpinfo()
Включен Automatic MIME Type Detection для Internet Explorer По умолчанию в Internet Explorer включен mime-сниффинг (MIME Type Detection in Windows Internet Explore, IE8 Security Part VI: Beta 2 Update), что никак не идет на пользу безопасности пользователей вашего сайта. В двух словах, если в заголовке ответа Content-Type сказано "text/plain," "application/octet-stream,", он отсутствует либо пуст - IE сам решает какой тип у контента основываясь, на его содержимом. Благо начиная с IE8 этим поведением можно управлять при помощи заголовка X-Content-Type-Options. Самый простой пример эксплуатации этого - загрузка файла без расширения. Допустим, у нас есть скрипт позволяющий загружать только картинки, но сохраняющий их без расширения... 1. Загружаем через него файл test.gif с содержимым:
GIF89
<html>
<script>
prompt('XSS on ' + document.domain);
</script>
</html>
2. Т.к. это вполне валидная картинка с позиции PHP, она благополучно попадет на сервер, но сохранится без расширения (по условиям примера). Допустим будет доступна по адресу: http://192.168.1.185:8080/upload/test 3. Для начала проверяем как его обработает IE10 с включенным mime-сниффингом:
$ http head http://192.168.1.185:8080/upload/test
HTTP/1.1 200 OK
Accept-Ranges: bytes
Connection: keep-alive
Content-Length: 80
Content-Type: application/octet-stream
Date: Sun, 27 Oct 2013 12:14:45 GMT
ETag: "526d026b-50"
Last-Modified: Sun, 27 Oct 2013 12:09:15 GMT
Server: nginx/1.4.3
Т.к. тип отдаваемого контента application/octet-stream (по умолчанию, регулируется директивой default_type), IE включает mime-сниффинг, и мы видим, что наша “картинка” была обработана как html-код: 4. А теперь с заголовком "X-Content-Type-Options: nosniff". В nginx это можно сделать через add_header:
add_header X-Content-Type-Options nosniff;
Проверяем:
$ http head http://192.168.1.185:8080/upload/test
HTTP/1.1 200 OK
Accept-Ranges: bytes
Connection: keep-alive
Content-Length: 80
Content-Type: application/octet-stream
Date: Sun, 27 Oct 2013 12:18:21 GMT
ETag: "526d026b-50"
Last-Modified: Sun, 27 Oct 2013 12:09:15 GMT
Server: nginx/1.4.3
X-Content-Type-Options: nosniff
И видим, что IE теперь предлагает нам сохранить этот файл:
На этом пожалуй все:) Я постарался осветить основные моменты, далеко не все, но наиболее часто встречающиеся. В скором времени набор тестов во внешнем сканировании будет еще расширен. Всем безопасных проектов и если у вас есть какие-либо вопросы - спрашивайте пожалуйста:)
Произошедший в этом месяце сбой в системе тестирования - неприятная случайность, за которую мы ещё раз приносим свои извинения. По предложению Евгения Стещенко на форуме созданы отдельные темы (по КП и по БУС), только в которых будут рассматриваться просьбы о дополнительных попытках по тестированию.
В этом месяце начаты большие работы по АПИ документации (сверх текущей): обработка комментариев к доке и простановка версий.
Яндекс.Деньги — это доступный и безопасный способ платить за товары и услуги через интернет. Добавьте обработчик этой системы в ваш интернет-магазин и принимайте платежи без проволочек.
Обновленный протокол Яндекс.Деньги 3.0 позволяет использовать разные типы оплаты:
Собственно Яндекс.Деньги;
Банковские карты;
Платежи через терминалы;
Мобильные платежи.
Кроме того, процедура подключения магазинов, созданных на платформе 1С-Битрикс: Управление сайтом, к Янедекс.Деньгам значительно упрощена. Вам нужно оставить заявку на сайте Яндекс.Деньги (в комментарии укажите, что у вас сайт на 1С-Битрикс: Управление сайтом с версией протокола 3.0.) и заполните упрощенную анкету (состоящую всего из 3-х полей).
Для подключения нового протокола Яндекс.Деньги в интернет-магазине на платформе 1С-Битрикс нужно создать новую платежную систему и выбрать обработчик
Партнеры-разработчики часто просят нас дать рекомендации, как лучше организовать сопровождение проекта с помощью системы контроля версий. В принципе, это возможно, если ограничиваться файлами. На одной из партнерок я делал презентацию, как мы поддерживаем один из наших проектов с помощью hg.
В представленной схеме есть одно неудобство: нужно исключать из репозитория "чужие" файлы. Как ни странно, с точки зрения проекта "чужими" файлами являются файлы продукта - они изменяются не разработчиками проекта, а приходят "снаружи" в виде обновлений. Неудобство заключается в том, что нельзя просто исключить папку /bitrix/ - в ней могут находиться в том числе файлы проекта - модули, компоненты, шаблоны сайта и т.д. В итоге файл .hgignore приобретает избыточный вид:
Коллеги, сегодня мы представляем новый инструмент, который позволит вам контролировать процесс внедрения сервиса в вашей компании, а также оценить эффективность использования тех или иных инструментов среди сотрудников.
Пульс компании – отличный инструмент для оценки эффективности внедрения инструментов на портале.
Интересный, красочный, игривый, и в то же время функциональный инструмент, фиксирует все происходящее в вашей компании. Каждое новое сообщение, задача, лайк, комментарий, - теперь все учитывается и влияет на ваш рейтинг.
Коллеги, рады представить вам интеграцию Битрикс24 с 1С: Управление торговлей.
На данный момент реализован первый этап интеграции, который позволит вам работать со счетами, а также импортировать товары из 1С в каталог Битрикс24.
Основной сценарий, который поддерживается для обмена счетами:
1) Счета создаются на стороне CRM. 2) Счета при достижении определенного статуса отправляются в 1С. 3) На стороне 1С может быть проведена оплата счета или его отгрузка, может быть изменен состав товаров счета их стоимость и кол-во. Все эти данные будут автоматически отправлены в CRM при очередной синхронизации. 4) Эти же изменения на стороне CRM приведут к изменениям соответствующих заказов в 1С.
Основной сценарий обмена товарами:
Обмен товаров реализован односторонний, т.е. отслеживаются изменения только на стороне 1С, а при синхронизации эти изменения попадают в CRM.
Мы говорим и пишем о том, что модуль Push&Pull позволяет организовать транспорт мгновенных нотификаций и сообщений клиентам. Однако, постепенно возможность оперативного получения информации и реакции, реализуемая данным модулем, находит применение вне Веб-мессенджера и описать назначение модуля в одном предложении становится невозможно.
Поэтому в данной статье хочу показать вам, какая интерактивность достигается на портале при использовании технологии Push&Pull и чего вы лишаете себя, коллег и клиентов, не настраивая данный модуль.
Спешу поделиться новостью, уже сейчас доступен сайт bitrix24.ua, теперь вы можете зарегистрировать свой портал Битрикс24 в зоне .UA
Специально к этому событию мы проводим акцию «Украинский старт»: все новые пользователи платных тарифов «Битрикс24» из Украины получают дополнительные месяцы в подарок:
при покупке любой редакции на 6 месяцев - 1 дополнительный месяц в подарок
при покупке любой редакции на 12 месяцев - 2 дополнительных месяца в подарок
Акция действует только 2 месяца: со 2 октября по 30 ноября 2013 года. Оформить заказ и получить в подарок дополнительные месяцы можно на сайте bitrix24.ua.
Если ваша компания находится в Украине, уже сейчас вы можете перевести свой портал в зону .UA и получить возможность оплачивать коммерческие тарифы в гривнах.
Условия перевода домена в .UA:
услуга предоставляется бесплатно для клиентов на платных тарифах;
услуга предлагается ограниченное время: с 2 по 31 октября;
если ваш портал - на бесплатном тарифе, то сначала вам необходимо перейти на коммерческий тариф.
Чтобы сменить зону, необходимо оставить заявку в службу поддержки.
Добрый день коллеги, данная статья расскажет вам как и зачем работать с модулем Push & Pull. Модуль доступен в редакциях БУС Эксперт и выше, а так же во всех редакциях Корпоративного портала. Что за модуль и зачем он нужен
Первым кто начал его использовать был модуль "Веб-мессенджер", благодаря модулю P&P появилась возможность реализовать действительно мгновенные сообщения, без необходимости ждать 60 секунд между опросами сервера. В последней версии КП 14 (и Битрикс24) использование модуля стало практически повсеместным. Его использует "Мобильное приложение", модули "Голосования и опросы", "Главный модуль" (для живых счетчиков), "Блоги" (для живых комментариев) и другие. Оперативность получения актуальной информации и скорость реакции на неё, сильно изменило работу с порталом и это заслуга модуля "Push & Pull".
Модуль "Push & Pull" работает в двух режимах: - постоянное подключение к специальному серверу "Сервер очередей" - в режиме опроса сервера (60-20-10);
Первый режим рекомендуемый, от него вы получите настоящую интерактивность, но от вас потребуется настроить сервер очередей или взять готовую сконфигурированную виртуальную машину.
Второй режим используется, когда по каким то причинам невозможно использовать первый, в таком случае модуль будет каждые 60 секунд стучатся на сервер и проверять есть ли данные, если есть то следующий хит будет через 10 секунд, если данных больше нет хит будет через 20 секунд, потом каждые 60 секунд, тем самым будет создан эффект интерактивности.
Самое главное, не смотря на то, какой способ выберет клиент на своем сайте (сервер очередей или опрос сервера) работа с модулем останется одинаковой (кроме работы с общим каналом). Само API делится на PHP и JS часть, ниже опишу ключевые методы для работы с ним.
Основным результатом (для пользователей) работы в этом месяце стали курсы. Детально уже писалось об этом, повторяться не будем. Но и другие виды работ не забывались. Под катом - подробное описание.
Битрикс24 – это сервис, который позволит вам быстро и эффективно решать самые сложные задачи, работать с документами, клиентами, вести сделки, планировать встречи и многое другое.
Коллеги, я рада представить вам обновленный Битрикс24: задачи, CRM, видеозвонки, календари, живая лента, и еще много интересных новинок уже ждут вас, на вашем портале Битрикс24.
Начну, наверное, с самой важной странички на портале – Живой ленты.
Теперь она по-настоящему ожила: голосования, лайки, новые комментарии, все работает в режиме реального времени, прямо у вас на глазах. Попробуйте провести опрос и вы увидите результат сразу, без обновления страницы.
Также работают лайки и новые комментарии к событиям в ленте.
1. При помощи client_id приложение стандартным способом получает параметр code, требуемый для получения авторизационного токена. 2. При помощи clent_id, client_secret и code приложение получает параметры access_code и refresh_token. 3. При помощи access_code приложение совершает запросы к REST-сервису до его истечения. 4. Через час access_code истекает, и приложение может использовать полученный refresh_token для получения нового. 5. Если refresh_token еще не истек (с момента его получения не прошел месяц), то приложение получает свежий access_code и свежий refresh_token, после чего, можно перейти к шагу 3. 6. Если refresh_token уже истек, то требуется повторная авторизация с участием пользователя.
По сути, физическая авторизация пользователя требуется только на шаге 1. В итоге получаем, что если приложение используется постоянно (шаг 4 используется чаще раза в месяц), то приложение имеет возможность продлевать авторизацию не трогая пользователя сколь угодно долго.
P.S. это относится только к приложениям третьего типа, в соответствии с логическим разделением в документации. Приложения первого и второго типов получают и продляют авторизацию автоматически.
Поскольку эта тема вызывает вопросы в техподдержке, выложу здесь инструкцию "с нуля".
Десктопное приложение должно слушать какой-либо порт на localhost. Как именно это сделать - зависит от выбранных средств разработки приложений. Пусть для примера это будет 7000.
1. Зарегистрировать в МП приложение с отмеченной галочкой "Использует только API" (не обязательно, но типично). 2. Создать в МП версию приложения, указывая ссылку вида http://localhost:7000. 3. Установить созданную версию на тестовый портал при помощи ссылки "Установить на свой портал Битрикс24" в форме редактирования версии.
7. В ответ сервер вернет json-строку со всеми необходимыми для совершения запросов к серверу данными.
{"access_token":"ключ для отправки запросов к REST-сервису","expires_in":3600,"scope":"user","refresh_token":"ключ для продления авторизации","domain":"мой_портал.bitrix24.ru"}
Все, приложение может совершать запросы к REST-сервису.
Выданный access_token живет в течение часа (expires_in). А возможность практически вечного продления авторизации я опишу в следующем посте.
Основное в этом месяце - это выпуск API доки по JS-библиотеке. Раздел будет дополняться. Другое "цельное" событие - выпуск тестов для курса Пользователь КП (По просьбам клиентов и партнёров).