Canvas. Обеспечение безопасности холста - Разработка сайтов, SEO, заработок в сети
Помоги блогу стать лучше


HTML 5 / Canvas

Canvas. Обеспечение безопасности холста

07.09.11 | Разместил: Лыско Дмитрий

В отношении манипулирования пикселями, о чем говорилось в предыдущем разделе, необходимо сделать одно важное замечание. Хотя подобные манипуляции в большинстве случаев используются как вполне законное средство разработки, нельзя исключить того, что возможность извлечения данных из холста или внесения в него изменений может быть использована в злонамеренных целях. По этой причине было введено понятие чистоты происхождения (origin-clean) холста, а извлечение данных из холстов, загрязненных (tainted) изображениями, которые поступили от источников, отличных от источника самой страницы, сделано невозможным.

Как показано на рисунке, если страница, обслуживаемая сайтом www. example. com, содержит элемент canvas, то не исключено, что код страницы может пытаться визуализировать на холсте изображение с сайта www.remote.com. В конце концов, в попытках визуализировать на веб-странице изображения, полученные с удаленных сайтов, нет ничего предосудительного.

В то же время, до появления спецификации HTML5 Canvas извлечение пиксельных значений загруженного изображения программными средствами было невозможно. Коммерческие изображения, поступающие с других сайтов, можно было отображать на странице, но не считывать или копировать. Предоставление сцена риям возможности считывать данные изображений из других источников фактически означало бы открытие доступа к личным фотографиям пользователя и другим критически важным файлам изображений для всех пользователей Интернета.

Чтобы этого избежать, любой элемент canvas, который содержит изображения, визуализированные из удаленных источников, в случае вызова функции getlmageData () будет генерировать исключение безопасности. Вполне допустимо визуализировать на холсте изображения из другого источника, коль скоро вы (или какой-то другой разработчик сценариев) не пытаетесь извлечь данные из холста, после того как он был "загрязнен". Не забывайте об этом ограничении и придерживайтесь практики безопасной визуализации.

Для того чтобы пройти собеседование на английском языке в иностранной компании , неоюходимо знать много y,fycjd и влядель языком в совершентстве.

Просмотров: 485
Комментариев:
Пять последних добавленных уроков в рубрике: HTML 5 / Canvas
Дополнительные рекомендации: полностраничная прозрачная панель

Рассмотренный ранее в постах пример приложения продемонстрировал один из возможных способов применения холста, налагаемого поверх графики. Однако возможно также применение холста поверх всего окна браузера или только какой-то его части. Соответствующая методика носит название прозрачной, или стеклянной, панели (glass pane). Размещение холста прозрачной панели поверх веб-страницы открывает перед разработчиком множество необычных, но чрезвычайно полезных возможностей.

Создание приложения с использованием программного интерфейса HTML5 Canvas. Продолжение

Начнем с HTML-элементов, объявленных в этом примере. В данном случае в их число входят титульное название, элемент canvas и кнопка, которую можно использовать для сброса тепловой карты. В качестве фона холста используется простое изображение mapbg. jpg, применяемое к холсту посредством стилей CSS, как показано в листинге 1.

Листинг 1. Элемент canvas тепловой карты
<style type="text/ess"> 
#heatmap {
	background-image: url("mapbg.jpg");
	border: lpx solid ; 
	height:300;
	width:300
}
</style>
<h2>Heatmap </h2>
<canvas id="heatmap" class="clear"> </canvas> 
<button id="resetButton">Reset</button>
Мы также инициализируем некоторые переменные, которые потребуются нам позже:
var points = {} ; var SCALE = 3; var x = -1 ; var у = -1 ;
Создание приложения с использованием программного интерфейса HTML5 Canvas

Существует множество областей применения спецификации HTML5 Canvas: построение графиков и диаграмм, редактирование изображений и т.д. Однако одним из самых интригующих применений элемента canvas является изменение или наложение существующих изображений. К популярным типам наложения изображений относятся так называемые тепловые карты (heatmap). Хотя это название наводит на мысль о температурных измерениях, в данном случае под ним можно подразумевать измерение любого вида активности. Области карты, соответствующие высоким уровням активности, окрашиваются "горячими" цветами (например, красным, желтым или белым). Области меньшей активности характеризуются полным отсутствие цветовых изменений или оттенками черного и серого цветов минимальной интенсивности.

Так, тепловую карту можно использовать для индикации интенсивности дорожного движения на городской карте или штормовой активности на карте мира. Ситуации, подобные этим, легко реализовать в HTML5, комбинируя изображение на холсте с источником данных для карты. По сути, холст можно использовать для наложения на него карты и рисования изотемпературных точек, исходя из соответствующих данных, описывающих активность.

Canvas. Обеспечение безопасности холста

В отношении манипулирования пикселями, о чем говорилось в предыдущем разделе, необходимо сделать одно важное замечание. Хотя подобные манипуляции в большинстве случаев используются как вполне законное средство разработки, нельзя исключить того, что возможность извлечения данных из холста или внесения в него изменений может быть использована в злонамеренных целях. По этой причине было введено понятие чистоты происхождения (origin-clean) холста, а извлечение данных из холстов, загрязненных (tainted) изображениями, которые поступили от источников, отличных от источника самой страницы, сделано невозможным.

Canvas. Работа с пиксельными данными

Одним из наиболее полезных аспектов программного интерфейса HTML5 Canvas является то, что с его помощью разработчики могут легко получать доступ к пикселям, образующим холст. Предоставляемый доступ является двусторонним в том смысле, что насколько тривиально получить доступ к значениям пикселей в виде числового массива, настолько же просто можно изменить эти значения и применить их к холсту. Фактически, вполне возможно манипулировать всем холстом исключительно посредством функций для работы с пикселями, полностью отказавшись от функций для построения графических объектов. Такая возможность связана с существованием у объекта context трех функций.

Комментарии к посту: Canvas. Обеспечение безопасности холста
Для добавления комментариев необходима авторизация
Рассылка:
Подписаться Отказаться
Для авторизации нажмите ссылку
Нужно ли регистрироваться, чтобы оставлять комментарии?
Да
Нет
Я не комментирую
Новости

 7 августа 2010, мы "вдыхаем жизнь" в этот сайт  и будем активно его развивать и наполнять весьма полезными и интересными материалами 

07.08.10
Архив новостей
Облако тэгов: