Информационная безопасность → EX.UA, LOIC и беспомощная украинская милиция
Не секрет, что Украина, это страна, где каждый «владетель» (депутат, чиновники и олигарх) думает, что он умнее всех и считает, что он контролируют процесс, а позже оказывается, что никто его не контролировал. Небольшой анализ предыстории в социально-политическом плане мы с коллегами даем на сайте Фонда качественной политики.Что же такое JS LOIC, это простейший и не очень хорошо написанный JavaScript размером в 50 строк, технические подробности работы его, и подобных, изложены ниже. Но его уникальность в том, что каждый браузер может стать источником атак, без инсталляции специальных программ и заражения вирусом. Во-первых, каждый школьник и домохозяйка совсем скоро смогут участвовать в атаках, не разбираясь ни в чем, просто получив ссылку и нажав кнопку на странице. Более того, нажимать кнопку не так уж и обязательно, любой массовый ресурс может стать носителем такого скрипта, внедренного в него владельцами или злоумышленниками (не столь важно), но свою цель такие запросы достанут.
Веб-стандарты → WebSocket Protocol опубликован как RFC
Протокол WebSocket получил свой номер RFC и опубликован в официальной библиотеке IETF как RFC 6455. Это означает, что черновик спецификаций признан вполне удачным, в целом стабильным и подходящим для стандартизации. Его дальнейшую судьбу будет отслеживать организация IETF, и впереди у потенциального стандарта — два этапа. После «предложенного стандарта» будут рассмотрены улучшения, которые представит сообщество, затем документ RFC может получить статус «драфта» (чернового стандарта) и, в конце концов, может быть признан как полноценный Стандарт Интернета (STD) — из нескольких тысяч кандидатов до такого статуса дожили всего 72.
WebSocket — протокол двунаправленной связи между браузером и веб-сервером. Протокол включает в себя описание запроса клиента и ответа сервера на установление соединения, а также базовое оформление сообщений, передаваемых поверх TCP-соединения.
С помощью WebSocket можно создавать интерактивные браузерные веб-приложения, которые постоянно обмениваются данными с сервером, но при этом не нуждаются в открытии нескольких HTTP-соединений, как XMLHttpRequest или <iframe>’ы.
В качестве авторов RFC 6455 указаны Ян Фетте из Google Security Team и Алексей Мельников (isode.com).
WebSocket — протокол двунаправленной связи между браузером и веб-сервером. Протокол включает в себя описание запроса клиента и ответа сервера на установление соединения, а также базовое оформление сообщений, передаваемых поверх TCP-соединения.
С помощью WebSocket можно создавать интерактивные браузерные веб-приложения, которые постоянно обмениваются данными с сервером, но при этом не нуждаются в открытии нескольких HTTP-соединений, как XMLHttpRequest или <iframe>’ы.
В качестве авторов RFC 6455 указаны Ян Фетте из Google Security Team и Алексей Мельников (isode.com).
JAVA → WebSocket: Реализация web-приложения с использованием Jetty Web Socket. Часть 1 из песочницы
Добрый день, Хабражитель!
Поздравляю всех и каждого с великим Днем Программиста! Желаю рабочего кода, уверенных сокетов и самых продвинутых пользователей!
Работая над автоматизацией концертного агентства, мне на каком-то этапе разработки понадобилась система уведомлений. Доступ к автоматизации происходит через написанное мною web-приложение. И, соответственно, моментальные уведомления должны приходить в браузер пользователя.
Для реализации такой задачи есть три решения:
Первое решение я сразу «отметаю» (причины объяснять не буду, web-разработчики меня поймут).
Второе решение нравится гораздо больше, но у него есть свои минусы:
Третье решение — как раз то, что доктор прописал.
Итак, WebSocket.
Поздравляю всех и каждого с великим Днем Программиста! Желаю рабочего кода, уверенных сокетов и самых продвинутых пользователей!
Работая над автоматизацией концертного агентства, мне на каком-то этапе разработки понадобилась система уведомлений. Доступ к автоматизации происходит через написанное мною web-приложение. И, соответственно, моментальные уведомления должны приходить в браузер пользователя.
Для реализации такой задачи есть три решения:
- «бесконечный iframe»,
- используя XMLHttpRequest (a.k.a. Ajax),
- используя WebSocket.
Первое решение я сразу «отметаю» (причины объяснять не буду, web-разработчики меня поймут).
Второе решение нравится гораздо больше, но у него есть свои минусы:
- браузер отправляет запрос каждую секунду создавая лишнюю нагрузку на:
- сервер;
- ОС, на которой работает браузер;
- и еще раз на сервер, так как сервер постоянно выполняет запрос БД на выборку последних уведомлений.
- тяжело отследить онлайн-статус пользователя (то есть нужно, например, хранить сессии в БД и постоянно мониторить каждую на timeout).
Третье решение — как раз то, что доктор прописал.
Итак, WebSocket.
Haskell → WebSocket сервер на Haskell
Как-то раз от нечего делать я решил написать WebSocket сервер, а написав, подумал, что кому-то может оказаться интересным, чем же тут может помочь ленивость, функциональная чистота и прочие лямбды.
Персональные блоги → WebSocket vs. Polling
Ребята из Ericsson Labs сделали наглядное сравнение между технологиями WebSocket и Long Polling.
.NET → WebSocket & ASP.NET
В этом топике я хочу рассказать, как организовать WebSocket соединение между браузером, поддерживающим WebSocket и ASP.NET приложением.В статье описано, как организовать подключение и отослать сообщение подключенному клиенту. Так же, в конце статьи, есть ссылка на исходники рабочего приложения.
Статья и приложение просто пример того, как это все работает, и как можно связать ASP.NET и WebSockets, и вряд ли претендует на руководство по внедрению в текущем виде, однако хорошо демонстрирует основы и может быть доработано.
Firefox → Firefox 4 значительно ускорится и получит поддержку inline SVG
Вечером 30 июня «Мозилла» явилась в Лондон в Англии, чтобы поведать про дополнения («Mozilla Add-Ons») и показать некоторые новые клёвые особенности грядущего Файерфокса 4.
Вероятно, наиболее впечатляющими (если не считать средства создания дополнений«Add-Ons Builder», основанного на «Беспине») оказались следующие будущие возможности Firefox 4:
→ отображение HTML5-видео (<video>)
→ рисование на холсте (<canvas>)
→ манипулирование изображениями на холсте (анализ пикселов, распознавание лиц с помощью opencivitas)
→ технологии «зелёного экрана» (хромакей) в иллюстрациях и видео, достигаемые анализом цвета пикселов
→ HTML5, встраиваемый внутрь SVG (ура!)
→ SVG как <img>
→ SVG как CSS-фон
→ SVG-фильтры, SVG-маски, SVG-контуры обрезки
→ SVG-анимация
→ inline SVG (то есть SVG внутри HTML5)
→ CSS3: селекторы,@font-face, 2D-преобразования (transforms), переходы (transitions), тени, градиенты, вычисления — calc(2em-10px)
→ API: геопозиция (geolocation), оффлайн (IndexDB, localStorage, AppCache, FileAPI: чтение двоичного содержимого из файла, перетаскивание файлов),веб-труженики (web workers) и сокеты (websockets)
→ контроллер на вебсокетах, запускающий презентацию с мобильника
→ WebGL
Некоторые из этих способностей подтверждались демонстрациями:
→ фильтры CSS3 и маски SVGна HTML5-видео:
Вероятно, наиболее впечатляющими (если не считать средства создания дополнений
→ отображение HTML5-видео (<video>)
→ рисование на холсте (<canvas>)
→ манипулирование изображениями на холсте (анализ пикселов, распознавание лиц с помощью opencivitas)
→ технологии «зелёного экрана» (хромакей) в иллюстрациях и видео, достигаемые анализом цвета пикселов
→ HTML5, встраиваемый внутрь SVG (ура!)
→ SVG как <img>
→ SVG как CSS-фон
→ SVG-фильтры, SVG-маски, SVG-контуры обрезки
→ SVG-анимация
→ inline SVG (то есть SVG внутри HTML5)
→ CSS3: селекторы,
→ API: геопозиция (geolocation), оффлайн (IndexDB, localStorage, AppCache, FileAPI: чтение двоичного содержимого из файла, перетаскивание файлов),
→ контроллер на вебсокетах, запускающий презентацию с мобильника
→ WebGL
Некоторые из этих способностей подтверждались демонстрациями:
→ фильтры CSS3 и маски SVG
Персональные блоги → HTML5 и события сервера (обновлено)
Помимо уже упомянутого мною двунаправленного коммуникационного канала известного как WebSocket, HTML5 включаетв себя также сервер-push технологию Server-Sent Events (SSE). В то время как WebSocket широко обсуждается, доступно множество реализаций серверов WebSocket, технология уже почти в полном объеме доступна в браузере Google Chrome, SSE, по большей части остаются в тени.
Мы привыкли что HTTP ограничен моделью запрос-ответ, что значит: клиент посылает запрос HTTP и ожидает на него HTTP-ответ. По сути, сервер не может сообщить что-либо клиенту до тех пор пока клиент его его «не попросит». Даже для такой тривиальной вещи как онлайн статус пользователя, нам надо прибегать к различным уловкам. Ну вы знаете – неугомонная изобретательность энтузиастов породила множество таких решений, на что есть собирательное имя Comet. Впрочем, цитируя экспертов: «Comet есть не что иное как гигантский хак». Похоже, HTML 5 призван обогатить нас нативными возможностями, на смену ныне используемому Comet. В случе SSE, HTML5 предоставляет API для открытия специального HTTP соединения для принятия уведомлений со стороны сервера. Взгляните, на то какой простой интерфейс
Мы привыкли что HTTP ограничен моделью запрос-ответ, что значит: клиент посылает запрос HTTP и ожидает на него HTTP-ответ. По сути, сервер не может сообщить что-либо клиенту до тех пор пока клиент его его «не попросит». Даже для такой тривиальной вещи как онлайн статус пользователя, нам надо прибегать к различным уловкам. Ну вы знаете – неугомонная изобретательность энтузиастов породила множество таких решений, на что есть собирательное имя Comet. Впрочем, цитируя экспертов: «Comet есть не что иное как гигантский хак». Похоже, HTML 5 призван обогатить нас нативными возможностями, на смену ныне используемому Comet. В случе SSE, HTML5 предоставляет API для открытия специального HTTP соединения для принятия уведомлений со стороны сервера. Взгляните, на то какой простой интерфейс
PHP → phpDaemon: хорошие новости
В Январе была опубликована статья phpDaemon — фреймворк асинхронных приложений. У многих она вызвала смешанные чувства: с одной стороны проект перспективен, с другой – было трудно вникнуть в недокументированный код, и хуже того – позиция автора была, скажем так, не совсем адекватной требованиям сообщества.
Но позиция автора поменялась, а с ней и многое в проекте.
Проект переехал на GitHub. Теперь методы и свойства задокументированы. API сделано более прозрачным и легким для работы, исправлено множество недочетов, повышена стабильность, изменена структура директорий.
Заполняется WIKI. Добавлено много новых возможностей, включая клиент для Postgresql.
Это принесло свои плоды: phpDaemon твердо обосновался на production-серверах многих проектов, и ведет себя стабильно, что не может не радовать.
Также появилось время на реализацию общественно полезных модулей и других фич, будем рады дельным предложениям.
Заранее благодарю за комментарии!
Но позиция автора поменялась, а с ней и многое в проекте.
Проект переехал на GitHub. Теперь методы и свойства задокументированы. API сделано более прозрачным и легким для работы, исправлено множество недочетов, повышена стабильность, изменена структура директорий.
Заполняется WIKI. Добавлено много новых возможностей, включая клиент для Postgresql.
Это принесло свои плоды: phpDaemon твердо обосновался на production-серверах многих проектов, и ведет себя стабильно, что не может не радовать.
Также появилось время на реализацию общественно полезных модулей и других фич, будем рады дельным предложениям.
Заранее благодарю за комментарии!