Опубликована документация по использованию капчи в приложениях на основе фреймворка Вебасист: http://www.webasyst.com/ru/framework/docs/dev/captcha/

17 комментариев

Еще пять полезных плагинов для приложения «Блог» доступны для установки через Инсталлер:

6 комментариев

На основе Вебасиста постепенно начинают появляться интересные проекты и сайты:

TaxiStory


http://www.taxistory.ru

Сайт о такси с каталогом таксопарков, отзывами и новостями мира такси
Разработчик: Bistrooo.ru

Актер Гэлакси


http://www.actorgalaxy.ru

Сайт жилого комплекса в Сочи
Разработчик: Bistrooo.ru

Stuart's Legal LLC


http://stuartslegal.com/ru

Сайт российской юридической компании
Разработчик: d2q.ru

Pocket Lists


http://www.pocketlistsapp.ru

http://www.pocketlistsapp.com
http://www.1312.ru
Приложение для организации дел для iPhone и iPod touch.
Все три сайта работают на базе одной установки Вебасиста и сделаны с помощью приложения «Сайт».
Разработчик: 1312

Пожалуйста, рассказывайте о ваших проектах, приложениях и сайтах на Вебасисте: пишите в комментариях, на форуме Вебасиста или по адресу framework-ru@webasyst.com. О наиболее интересных проектах, их внутреннем устройстве и разработчиках мы с удовольствием напишем отдельные посты в этом блоге. Ждем ваших сообщений.

11 комментариев

Представляем платформу для создания плагинов к приложениям! Основы платформы реализованы в ядре фреймворка. Плагины позволяют гибко расширять функционал приложений, не затрагивая исходный код и шаблоны приложения (приложения обновляются независимо от плагинов).

Опубликована документация о структуре плагинов и общих основах их работы: http://www.webasyst.com/ru/framework/docs/dev/plugins/

Плагины позволяют действительно гибко расширять функционал приложений. Предлагаем убедиться в этом на примере четырех плагинов для приложения «Блог», которые уже доступны для установки:

Плагины установливаются через «Инсталлер» одним кликом и мгновенно активируются. В будущем мы планируем продолжить выпускать плагины для «Блога». Например, плагин импорта записей из ЖЖ и Вордпресса, плагин экспорта записей в Фейсбук (предлагайте ваши идеи плагинов в комментариях!)

Разработчикам мы предлагаем попробовать самостоятельно написать плагин для приложения «Блог». Список событий, которые предоставляет «Блог» для интеграции, представлен здесь: http://www.webasyst.com/ru/apps/blog/developer-guide/
О наиболее интересных ваших плагинах мы с удовольствием расскажем всем пользователям приложения «Блог».

Большинство приложений, над которыми мы сейчас работаем — «Фото», «Рассылки», «Поддержка» и, конечно, новый Shop-Script — будут позволять расширять свой функционал с помощью плагинов аналогично тому, как это уже работает в «Блоге».

12 комментариев

В версии фреймворка 1.0.7 (уже доступна для загрузки) изменился инструментарий отправки почты. Теперь в состав ядра фреймворка входит библиотека Swift Mailer, и вся работа с почтой осуществляется на ее основе. В wa-system созданы классы-обертки, унаследованные от Swift. Обновленная статья документации по работе с почтой: http://www.webasyst.com/ru/framework/docs/dev/mail/

Вниманию разработчиков: Старые методы отправки почты более не работают.
Необходимо обновить методы и параметры, которые вы используете для отправки почты в ваших приложениях.

Подробности под катом →

4 комментария

Опубликована документация по интеграции с приложением «Контакты»: http://www.webasyst.com/ru/framework/docs/dev/contacts-app-integration/

Интеграция позволяет любому приложению получить доступ к базе данных контактов и пользователей Вебасиста и, фактически, использовать всю инфраструктуру приложения «Контакты» вместо реализации собственной. Многие будущие приложения (в том числе приложение «Рассылки», которое сейчас находится в разработке, и новый Shop-Script) будут полностью интегрированы с «Контактами» согласно этой документации.

4 комментария

CSRF (англ. Сross Site Request Forgery — «Подделка межсайтовых запросов», также известен как XSRF) — вид атак на посетителей веб-сайтов, суть которого заключается в выполнении действий от имени пользователя без его ведома. Когда пользователья заходит на сайт, созданный злоумышленником, то от его имени на другой сервер тайно отправляется запрос на выполнение некоторого действия (чаще всего это запросы на популярные ресурсы вроде почтовых служб и соцсетей, на которых пользователь с наибольшей вероятностью будет авторизован). Подробнее об CSRF читайте на Википедии.

Основной метод защиты от атак CSRF заключается в следующем:

  1. Все важные действия пользователя (изменение или удаление данных) должны быть реализованы с помощью отправки формы методом POST.
  2. При отправке данных нужно сгенерировать случайную строку (подпись), сохранить ее значение в куках (cookies) и добавлять во все формы с помощью скрытого инпута <input type="hidden" name="_csrf" value="СОХРАНЁННАЯ_СЛУЧАЙНАЯ_СТРОКА">
  3. При получении запросов POST проверять значение из $_COOKIE['_csrf'] и $_POST['_csrf'] и выполнять действие только в том случае, если значения совпадают. Если это не так, то скорее всего форма была отправлена с другого сайта.

Чтобы сделать приложения на основе фреймворка Вебасист более безопасными, мы реализовали защиту от атак CSRF на уровне ядра фреймворка. Применить защиту в вашем приложении следует следующим образом:

  • В конфигурационном файле вашего приложения wa-apps/[APP_ID]/lib/config/app.php необходимо указать 'csrf' => true
  • В шаблонах во все формы с method=POST добавить {$wa->csrf()}
    Эта конструкция автоматически заменится на скрытый input с нужным значением.
  • Дальнейшая проверка будет осуществлена фреймворком автоматически. Если подписи не будут совпадать, то фреймворк вернет ответ с ошибкой 403 Forbidden на этапе инициализации приложения (управление приложению передано не будет).

AJAX: Если вы подключаете в своём приложении скрипт wa-content/js/jquery-wa/wa.core.js, то параметр _csrf также автоматически будет добавляться во все AJAX-запросы, отправляемые методом POST. Если этот скрипт не подключается, то для защиты от CSRF (при включенном 'csrf' => true в конфиге) вам необходимо во все запросы добавлять переменную '_csrf' = get_cookie('_csrf').

Описанный механизм требует от пользователя включенных куки (cookies), и поэтому в данный момент реализован только для бекенда Вебасиста. Реализацию защиты в коде можно посмотреть на примере приложения «Блог».

5 комментариев

Вместе с приложением «Блог» во фреймворке появилась поддержка OAuth-авторизации через внешние сервисы (соцсети). Реализуется этот функционал на системном уровне с помощью адаптеров авторизации. В базовый состав текущей версии фреймворка включены адаптеры для следующих платформ: Фейсбук, Твиттер, Гугл, Вконтакте.

Пример работы OAuth-авторизации вы можете видеть ниже в форме добавления комментария к записи блога. Во фронтендах будущих приложений подобная авторизация пользователей будет поддерживаться по умолчанию (например, в новом Shop-Script для авторизации покупателей при оформлении заказов).

Документация по подключению адаптеров авторизации в вашей установке: http://www.webasyst.com/ru/framework/docs/dev/auth-adapters/

17 комментариев

Приложение «Блог» доступно для установки через Инсталлер!

Приложение «Блог» позволяет вести открытые (доступные на сайте) и закрытые (доступные только пользователям бекенда) блоги, поддерживает управление правами доступа по блогам, календарь планирования будущих публикаций, отложенную публикацию записей, комментирование записей.

В приложении реализована гибкая плагиновая структура и внедрено много того, что будет использоваться в основе нового Shop-Script. Однако, в данный момент доступ к плагинам еще не открыт. Мы представим несколько интересных плагинов для «Блога» (теги, избранные записи, импорт из ЖЖ, анти-спам Akismet и другие) и документацию для разработчиков в течение ближайшего времени. Плагины можно будет устанавливать через Инсталлер аналогично приложениям.

7 комментариев

В приложении «Сайт» версии 1.1 обновился механизм работы со страницами: функционал страниц вынесен из приложения на системный уровень. В будущем это позволит внедрять функционал страниц в других приложениях без копипаста и написания заново. Первое применение обновленного механизма страниц будет в приложении «Блог»: приложение позволит создавать собственные информационные страницы (например, страницы «О блоге», «Об авторах») аналогично тому, как они создаются в приложении «Сайт». Позже аналогичное применение будет реализовано в «Фото», Shop-Script и других приложениях.

ВАЖНО: Если ваш сайт работает на основе приложения «Сайт», обратите внимание на следующее:

  1. Если у вас только одно поселение приложения «Сайт» на домене (одно правило роутинга для «Сайта»), то ничего делать не надо. Страницы будут продолжать работать, как есть.
  2. Если поселений два или более, то необходимо пересохранить страницы, обновив их адреса (URL). В обновленном приложении «Сайт» страницу нельзя прикрепить к определенному поселению. Теперь страница доступна во всех поселениях приложения за исключением выбранных явно.
  3. Если у вас есть страницы «Сайта», которые прикреплены к поселениям внешних приложений (например, приложений вашей собственной разработки), то после обновления эти страницы перестанут отображаться. Вам необходимо внедрить механизм работы со страницами в ваше приложение (документация для разработчиков в разработке) или добавить адреса выбранных страниц в общий роутинг сайта, «направив» их на приложение «Сайт».

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