Проект Каха
Каха (произносится / ˈ k ɑː h ɑː / KAH -hah ) [1] — это проект Google по очистке стороннего HTML , CSS и JavaScript. 31 января 2021 года Google заархивировал проект из-за известных уязвимостей и отсутствия обслуживания, чтобы идти в ногу с последними исследованиями веб-безопасности, рекомендуя вместо него набор инструментов Closure . [2]
Проект Caja возглавлял Джасвир Награ , а часть JavaScript была разработана ученым-исследователем Google Марком С. Миллером в 2008 году. [3] [4] как реализация JavaScript для «виртуальных iframe», основанная на принципах объектных возможностей . Потребовалось бы использовать JavaScript (технически это ECMAScript 5 код строгого режима ), HTML и CSS и переписать его в безопасное подмножество HTML и CSS, а также одну функцию JavaScript без свободных переменных . Это означает, что единственный способ, которым такая функция могла изменить объект, — это дать ей ссылку на объект на главной странице. Вместо прямых ссылок на объекты DOM хост-страница обычно дает ссылки на оболочки, которые очищают HTML, URL-адреса прокси и предотвращают перенаправление страницы; это позволило Caja предотвратить некоторые фишинговые атаки и атаки с использованием межсайтовых сценариев , а также предотвратить загрузку вредоносного ПО . Кроме того, поскольку все переписанные программы выполнялись в одном и том же кадре, главная страница могла позволить одной программе экспортировать ссылку на объект в другую программу; тогда межкадровая связь была просто вызовом метода.
Слово «caja» по-испански означает «коробка» или «сейф» (как в банке). Идея заключается в том, что Caja может безопасно содержать программы JavaScript, а также быть JavaScript основанным на возможностях .
Caja использовался Google в сценарии Google Apps. [5] продукты. В 2008 году MySpace [6] [7] и Yahoo! [8] оба использовали очень раннюю версию Caja.
См. также [ править ]
- Joe-E с объектными возможностями . , подмножество Java
- И
Ссылки [ править ]
- ^ Марк, Миллер. «Дискуссия Caja о группе Caplet» . [разговор в кепке] . [электронный язык]. Архивировано из оригинала 17 мая 2008 года.
- ^ «Введение — Каха» . Разработчики Google . Архивировано из оригинала 22 января 2021 года.
- ^ Миллер, Марк С .; Сэмюэл, М; Лори, Б; Авад, я; Оставайся, М. (7 июня 2008 г.). «Безопасный активный контент в очищенном JavaScript» . Google Академик .
- ^ Синодинос, Дион (25 февраля 2011 г.). «ECMAScript 5, Caja и модернизация безопасности, с Марком С. Миллером» . ИнфоQ .
- ^ «Html-сервис: санация Caja» . Разработчики Google . Архивировано из оригинала 26 августа 2013 года.
- ^ «MySpace: очистка JavaScript Caja готова к прайм-тайму» . 4 февраля 2008 г. Архивировано из оригинала 1 октября 2008 г.
- ^ «Инвесторы Web 2.0: обратите внимание на Caja» . Комплексная проверка Тима Орена . 11 апреля 2008 г.
- ^ Пуллара, Сэм (28 октября 2008 г.). «Блог OpenSocial API: запуск: первая реализация поддержки OpenSocial в Yahoo!» . OpenSocial . Архивировано из оригинала 16 декабря 2008 года.
Внешние ссылки [ править ]
- Домашняя страница проекта Caja
- Исходный код проекта Caja
- Детская площадка
- Проект спецификации Caja : «Безопасный активный контент в очищенном JavaScript», Марк С. Миллер , Майк Сэмюэл, Бен Лори , Ихаб Авад, Майк Стей
- Yahoo!/Google Caja Javascript Песочница