SlideShare a Scribd company logo
MoscowJS
Яндекс
 
 
Content-Security-Policy: <политика>
Content-Security-Policy-Report-Only: <политика>
[протокол://]домен[:порт]
 
 
 
 
 
Content-Security-Policy :
default-src 'none';
frame-src awaps.yandex.ru;
img-src 'self' yastatic.net *.yandex.net;
script-src 'unsafe-eval' 'unsafe-inline' yastatic.net;
style-src 'unsafe-inline' yastatic.net;
report-uri /csp-report?from=mail
01.
02.
03.
04.
05.
06.
07.
Content-Security-Policy:
default-src 'none';
frame-src awaps.yandex.ru;
img-src 'self' yastatic.net *.yandex.net;
script-src 'unsafe-eval' 'unsafe-inline' yastatic.net;
style-src 'unsafe-inline' yastatic.net;
report-uri /csp-report?from=mail
01.
02.
03.
04.
05.
06.
07.
Content-Security-Policy:
default-src 'none' ;
frame-src awaps.yandex.ru;
img-src 'self' yastatic.net *.yandex.net;
script-src 'unsafe-eval' 'unsafe-inline' yastatic.net;
style-src 'unsafe-inline' yastatic.net;
report-uri /csp-report?from=mail
01.
02.
03.
04.
05.
06.
07.
Content-Security-Policy:
default-src 'none';
frame-src awaps.yandex.ru;
img-src 'self' yastatic.net *.yandex.net;
script-src 'unsafe-eval' 'unsafe-inline' yastatic.net;
style-src 'unsafe-inline' yastatic.net;
report-uri /csp-report?from=mail
01.
02.
03.
04.
05.
06.
07.
<script src="//evil.com/give-me-your-money.js"></script>
Content-Security-Policy:
default-src 'none';
img-src 'self' yastatic.net *.yandex.net;
script-src 'unsafe-eval' 'unsafe-inline' yastatic.net;
style-src 'unsafe-inline' yastatic.net;
report-uri /csp-report?from=mail
01.
02.
03.
04.
05.
06.
< script src="//evil.com/give-me-your-money.js"></script>
Content-Security-Policy:
default-src 'none';
img-src 'self' yastatic.net *.yandex.net;
script-src 'unsafe-eval' 'unsafe-inline' yastatic.net;
style-src 'unsafe-inline' yastatic.net;
report-uri /csp-report?from=mail
01.
02.
03.
04.
05.
06.
<script src="// evil.com /give-me-your-money.js"></script>
Content-Security-Policy:
default-src 'none';
img-src 'self' yastatic.net *.yandex.net;
script-src 'unsafe-eval' 'unsafe-inline' yastatic.net ;
style-src 'unsafe-inline' yastatic.net;
report-uri /csp-report?from=mail
01.
02.
03.
04.
05.
06.
<script src="// evil.com /give-me-your-money.js"></script>
Content-Security-Policy:
default-src 'none';
img-src 'self' yastatic.net *.yandex.net;
script-src 'unsafe-eval' 'unsafe-inline' yastatic.net ;
style-src 'unsafe-inline' yastatic.net;
report-uri /csp-report?from=mail
01.
02.
03.
04.
05.
06.
img-src 'self' yastatic.net *.yandex.net
 connect-src
 font-src
 frame-src
 img-src
 media-src
 object-src
 script-srс
 style-src
 default-src
 report-uri
 'self'
 'none'
 'unsafe-inline' script-src style-src
 'unsafe-eval' script-src style-src
<script>
alert('Look at me!')
</script>
<a onclick="alert('Look at me!')" >link</a>
01.
02.
03.
04.
<style>
.body {color: #000}
</style>
01.
02.
03.
eval new Function()
setTimeout('var a = 1', 10)
Content-Security-Policy:
default-src 'none';
frame-src awaps.yandex.ru;
img-src 'self' yastatic.net *.yandex.net;
script-src 'unsafe-eval' 'unsafe-inline' yastatic.net;
style-src 'unsafe-inline' yastatic.net;
report-uri /csp-report?from=mail
01.
02.
03.
04.
05.
06.
07.
{
"csp-report": {
"document-uri": "https://mail.yandex.ru/neo2/",
"referrer": "http://www.yandex.ru/",
"violated-directive": "script-src ...",
"original-policy": "...вся политика...",
"blocked-uri": "...заблокированный ресурс..."
}
}
01.
02.
03.
04.
05.
06.
07.
08.
09.
{
"csp-report": {
"document-uri": "https://mail.yandex.ru/neo2/",
"referrer": "http://www.yandex.ru/",
"violated-directive": "script-src ...",
"original-policy": "...вся политика...",
"blocked-uri": "...заблокированный ресурс..."
}
}
01.
02.
03.
04.
05.
06.
07.
08.
09.
{
"csp-report": {
"document-uri": "https://mail.yandex.ru/neo2/",
"referrer": "http://www.yandex.ru/",
"violated-directive": "script-src ...",
"original-policy": "...вся политика...",
"blocked-uri": "...заблокированный ресурс..."
}
}
01.
02.
03.
04.
05.
06.
07.
08.
09.
{
"csp-report": {
"document-uri": "https://mail.yandex.ru/neo2/",
"referrer": "http://www.yandex.ru/",
"violated-directive": "script-src ...",
"original-policy": "...вся политика...",
"blocked-uri": "...заблокированный ресурс..."
}
}
01.
02.
03.
04.
05.
06.
07.
08.
09.
 
  form-action
frame-ancestors plugin-types
  nonce- hash-
  <meta>
 unsafe-eval style-src
 
 
nonce unsafe-inline
 nonce
 
 
Content-Security-Policy:
default-src 'self';
script-src 'unsafe-inline' 'nonce-ccc5b86a' yastatic.net
<!-- Заблокирован , отсутствует атрибут nonce -->
<script>
alert("Мені не подобається Київ")
</script>
01.
02.
03.
04.
05.
06.
07.
08.
Content-Security-Policy:
default-src 'self';
script-src 'nonce-ccc5b86a' yastatic.net
<!-- Заблокирован , атрибут nonce не совпадает -->
<script nonce="42" >
alert("Мені не подобається Київ")
</script>
01.
02.
03.
04.
05.
06.
07.
08.
Content-Security-Policy:
default-src 'self';
script-src 'nonce-ccc5b86a' yastatic.net
<!-- Выполнен , атрибут nonce валиден -->
<script nonce="ccc5b86a" >
alert("Мені подобається Київ")
</script>
01.
02.
03.
04.
05.
06.
07.
08.
Content-Security-Policy:
default-src 'self';
script-src 'nonce-ccc5b86a' yastatic.net
<!-- Выполнен , src валиден -->
<script src=" //yastatic.net/page.js "></script>
01.
02.
03.
04.
05.
06.
Content-Security-Policy:
default-src 'self';
script-src 'nonce-ccc5b86a' yastatic.net
<!-- Выполнен , nonce валиден -->
<script nonce="ccc5b86a" src=" //yandex.net/page.js "></script>
01.
02.
03.
04.
05.
06.
 default-src 'none'
 
default-src
 
  Content-Security-Policy
Content-Security-Policy-Report-Only
 
 
 X-Content-Security-Policy
  *
 
style-src 'unsafe-eval'
report-uri
Content-Security-Policy-Report-Only
location / {
add_header Content-Security-Policy-Report-Only "...."
}
01.
02.
03.
response.setHeader(
"Content-Security-Policy-Report-Only",
"..."
);
01.
02.
03.
04.
Content-Security-Policy-Report-Only
Content-Security-Policy
 
 
 
"Content Security Policy" — Алексей Андросов, MoscowJS 18

More Related Content

Viewers also liked

Построение мультисервисного стартапа в реалиях full-stack javascript
Построение мультисервисного стартапа в реалиях full-stack javascriptПостроение мультисервисного стартапа в реалиях full-stack javascript
Построение мультисервисного стартапа в реалиях full-stack javascript
FDConf
 
CodeFest 2013. Прокопов Н. — Зачем вам нужна Clojure?
CodeFest 2013. Прокопов Н. — Зачем вам нужна Clojure?CodeFest 2013. Прокопов Н. — Зачем вам нужна Clojure?
CodeFest 2013. Прокопов Н. — Зачем вам нужна Clojure?CodeFest
 
Трансдюсеры, CSP каналы, неизменяемые структуры данных в JavaScript
Трансдюсеры, CSP каналы, неизменяемые структуры данных в JavaScriptТрансдюсеры, CSP каналы, неизменяемые структуры данных в JavaScript
Трансдюсеры, CSP каналы, неизменяемые структуры данных в JavaScript
Max Klymyshyn
 
Функциональное программирование в браузере / Никита Прокопов
Функциональное программирование в браузере / Никита ПрокоповФункциональное программирование в браузере / Никита Прокопов
Функциональное программирование в браузере / Никита Прокопов
Ontico
 
JavaScript завтра / Сергей Рубанов (Exante Limited)
JavaScript завтра / Сергей Рубанов  (Exante Limited)JavaScript завтра / Сергей Рубанов  (Exante Limited)
JavaScript завтра / Сергей Рубанов (Exante Limited)
Ontico
 
Алексей Романчук «Реактивное программирование»
Алексей Романчук «Реактивное программирование»Алексей Романчук «Реактивное программирование»
Алексей Романчук «Реактивное программирование»
DevDay
 
JavaFX GUI architecture with Clojure core.async
JavaFX GUI architecture with Clojure core.asyncJavaFX GUI architecture with Clojure core.async
JavaFX GUI architecture with Clojure core.async
Falko Riemenschneider
 
FlatGUI: Reactive GUI Toolkit Implemented in Clojure
FlatGUI: Reactive GUI Toolkit Implemented in ClojureFlatGUI: Reactive GUI Toolkit Implemented in Clojure
FlatGUI: Reactive GUI Toolkit Implemented in Clojure
denyslebediev
 
Usabilitylab
UsabilitylabUsabilitylab
Usabilitylab
Kirill Kochkin
 
как интернет делает Minority report настоящим
как интернет делает Minority report настоящимкак интернет делает Minority report настоящим
как интернет делает Minority report настоящимЮрий Лукашевич
 
Site banking ut_method_11.11_kk_
Site banking ut_method_11.11_kk_Site banking ut_method_11.11_kk_
Site banking ut_method_11.11_kk_
Kirill Kochkin
 
Ежегодный отчет Cisco по информационной безопасности 2015
Ежегодный отчет Cisco по информационной безопасности 2015Ежегодный отчет Cisco по информационной безопасности 2015
Ежегодный отчет Cisco по информационной безопасности 2015
Cisco Russia
 
Presentation wonder full_30
Presentation wonder full_30Presentation wonder full_30
Presentation wonder full_30
Vera Kovaleva
 
Мобильный банкинг в России: особенности спроса и предложения
Мобильный банкинг в России: особенности спроса и предложенияМобильный банкинг в России: особенности спроса и предложения
Мобильный банкинг в России: особенности спроса и предложения
Alexey Skobelev
 
Методология Mobilebanking 2015
Методология Mobilebanking 2015Методология Mobilebanking 2015
Методология Mobilebanking 2015
Kirill Kochkin
 
Ericsson Mobility Report: Основные выводы
Ericsson Mobility Report: Основные выводыEricsson Mobility Report: Основные выводы
Ericsson Mobility Report: Основные выводы
Ericsson Russia
 
Бизнес планирование Akhmadi invest для i startup.kz
Бизнес планирование Akhmadi invest для i startup.kzБизнес планирование Akhmadi invest для i startup.kz
Бизнес планирование Akhmadi invest для i startup.kz
Iskander Akhmetov
 
Ericsson mobility report. Презентация для Украины
Ericsson mobility report. Презентация для УкраиныEricsson mobility report. Презентация для Украины
Ericsson mobility report. Презентация для УкраиныEricsson Russia
 
Кибербезопасность с точки зрения директоров
Кибербезопасность с точки зрения директоровКибербезопасность с точки зрения директоров
Кибербезопасность с точки зрения директоров
Cisco Russia
 

Viewers also liked (20)

Построение мультисервисного стартапа в реалиях full-stack javascript
Построение мультисервисного стартапа в реалиях full-stack javascriptПостроение мультисервисного стартапа в реалиях full-stack javascript
Построение мультисервисного стартапа в реалиях full-stack javascript
 
CodeFest 2013. Прокопов Н. — Зачем вам нужна Clojure?
CodeFest 2013. Прокопов Н. — Зачем вам нужна Clojure?CodeFest 2013. Прокопов Н. — Зачем вам нужна Clojure?
CodeFest 2013. Прокопов Н. — Зачем вам нужна Clojure?
 
Трансдюсеры, CSP каналы, неизменяемые структуры данных в JavaScript
Трансдюсеры, CSP каналы, неизменяемые структуры данных в JavaScriptТрансдюсеры, CSP каналы, неизменяемые структуры данных в JavaScript
Трансдюсеры, CSP каналы, неизменяемые структуры данных в JavaScript
 
Функциональное программирование в браузере / Никита Прокопов
Функциональное программирование в браузере / Никита ПрокоповФункциональное программирование в браузере / Никита Прокопов
Функциональное программирование в браузере / Никита Прокопов
 
JavaScript завтра / Сергей Рубанов (Exante Limited)
JavaScript завтра / Сергей Рубанов  (Exante Limited)JavaScript завтра / Сергей Рубанов  (Exante Limited)
JavaScript завтра / Сергей Рубанов (Exante Limited)
 
Алексей Романчук «Реактивное программирование»
Алексей Романчук «Реактивное программирование»Алексей Романчук «Реактивное программирование»
Алексей Романчук «Реактивное программирование»
 
JavaFX GUI architecture with Clojure core.async
JavaFX GUI architecture with Clojure core.asyncJavaFX GUI architecture with Clojure core.async
JavaFX GUI architecture with Clojure core.async
 
FlatGUI: Reactive GUI Toolkit Implemented in Clojure
FlatGUI: Reactive GUI Toolkit Implemented in ClojureFlatGUI: Reactive GUI Toolkit Implemented in Clojure
FlatGUI: Reactive GUI Toolkit Implemented in Clojure
 
Usabilitylab
UsabilitylabUsabilitylab
Usabilitylab
 
как интернет делает Minority report настоящим
как интернет делает Minority report настоящимкак интернет делает Minority report настоящим
как интернет делает Minority report настоящим
 
Site banking ut_method_11.11_kk_
Site banking ut_method_11.11_kk_Site banking ut_method_11.11_kk_
Site banking ut_method_11.11_kk_
 
Conversion_conf'2015
Conversion_conf'2015Conversion_conf'2015
Conversion_conf'2015
 
Ежегодный отчет Cisco по информационной безопасности 2015
Ежегодный отчет Cisco по информационной безопасности 2015Ежегодный отчет Cisco по информационной безопасности 2015
Ежегодный отчет Cisco по информационной безопасности 2015
 
Presentation wonder full_30
Presentation wonder full_30Presentation wonder full_30
Presentation wonder full_30
 
Мобильный банкинг в России: особенности спроса и предложения
Мобильный банкинг в России: особенности спроса и предложенияМобильный банкинг в России: особенности спроса и предложения
Мобильный банкинг в России: особенности спроса и предложения
 
Методология Mobilebanking 2015
Методология Mobilebanking 2015Методология Mobilebanking 2015
Методология Mobilebanking 2015
 
Ericsson Mobility Report: Основные выводы
Ericsson Mobility Report: Основные выводыEricsson Mobility Report: Основные выводы
Ericsson Mobility Report: Основные выводы
 
Бизнес планирование Akhmadi invest для i startup.kz
Бизнес планирование Akhmadi invest для i startup.kzБизнес планирование Akhmadi invest для i startup.kz
Бизнес планирование Akhmadi invest для i startup.kz
 
Ericsson mobility report. Презентация для Украины
Ericsson mobility report. Презентация для УкраиныEricsson mobility report. Презентация для Украины
Ericsson mobility report. Презентация для Украины
 
Кибербезопасность с точки зрения директоров
Кибербезопасность с точки зрения директоровКибербезопасность с точки зрения директоров
Кибербезопасность с точки зрения директоров
 

More from MoscowJS

Александр Русаков - TypeScript 2 in action
Александр Русаков - TypeScript 2 in actionАлександр Русаков - TypeScript 2 in action
Александр Русаков - TypeScript 2 in action
MoscowJS
 
Виктор Розаев - Как не сломать обратную совместимость в Public API
Виктор Розаев - Как не сломать обратную совместимость в Public APIВиктор Розаев - Как не сломать обратную совместимость в Public API
Виктор Розаев - Как не сломать обратную совместимость в Public API
MoscowJS
 
Favicon на стероидах
Favicon на стероидахFavicon на стероидах
Favicon на стероидах
MoscowJS
 
E2E-тестирование мобильных приложений
E2E-тестирование мобильных приложенийE2E-тестирование мобильных приложений
E2E-тестирование мобильных приложений
MoscowJS
 
Reliable DOM testing with browser-monkey
Reliable DOM testing with browser-monkeyReliable DOM testing with browser-monkey
Reliable DOM testing with browser-monkey
MoscowJS
 
Basis.js - Production Ready SPA Framework
Basis.js - Production Ready SPA FrameworkBasis.js - Production Ready SPA Framework
Basis.js - Production Ready SPA Framework
MoscowJS
 
Контекст в React, Николай Надоричев, MoscowJS 31
Контекст в React, Николай Надоричев, MoscowJS 31Контекст в React, Николай Надоричев, MoscowJS 31
Контекст в React, Николай Надоричев, MoscowJS 31
MoscowJS
 
Верстка Canvas, Алексей Охрименко, MoscowJS 31
Верстка Canvas, Алексей Охрименко, MoscowJS 31Верстка Canvas, Алексей Охрименко, MoscowJS 31
Верстка Canvas, Алексей Охрименко, MoscowJS 31
MoscowJS
 
Веб без интернет соединения, Михаил Дунаев, MoscowJS 31
Веб без интернет соединения, Михаил Дунаев, MoscowJS 31Веб без интернет соединения, Михаил Дунаев, MoscowJS 31
Веб без интернет соединения, Михаил Дунаев, MoscowJS 31
MoscowJS
 
Angular2 Change Detection, Тимофей Яценко, MoscowJS 31
Angular2 Change Detection, Тимофей Яценко, MoscowJS 31Angular2 Change Detection, Тимофей Яценко, MoscowJS 31
Angular2 Change Detection, Тимофей Яценко, MoscowJS 31
MoscowJS
 
Создание WYSIWIG-редакторов для веба, Егор Яковишен, Setka, MoscowJs 33
Создание WYSIWIG-редакторов для веба, Егор Яковишен, Setka, MoscowJs 33Создание WYSIWIG-редакторов для веба, Егор Яковишен, Setka, MoscowJs 33
Создание WYSIWIG-редакторов для веба, Егор Яковишен, Setka, MoscowJs 33
MoscowJS
 
Предсказуемый Viewport, Вопиловский Константин, KamaGames Studio, MoscowJs 33
Предсказуемый Viewport, Вопиловский Константин, KamaGames Studio, MoscowJs 33Предсказуемый Viewport, Вопиловский Константин, KamaGames Studio, MoscowJs 33
Предсказуемый Viewport, Вопиловский Константин, KamaGames Studio, MoscowJs 33
MoscowJS
 
Promise me an Image... Антон Корзунов, Яндекс, MoscowJs 33
Promise me an Image... Антон Корзунов, Яндекс, MoscowJs 33Promise me an Image... Антон Корзунов, Яндекс, MoscowJs 33
Promise me an Image... Антон Корзунов, Яндекс, MoscowJs 33
MoscowJS
 
Регрессионное тестирование на lenta.ru, Кондратенко Павел, Rambler&Co, Moscow...
Регрессионное тестирование на lenta.ru, Кондратенко Павел, Rambler&Co, Moscow...Регрессионное тестирование на lenta.ru, Кондратенко Павел, Rambler&Co, Moscow...
Регрессионное тестирование на lenta.ru, Кондратенко Павел, Rambler&Co, Moscow...
MoscowJS
 
"Опыт разработки универсальной библиотеки визуальных компонентов в HeadHunter...
"Опыт разработки универсальной библиотеки визуальных компонентов в HeadHunter..."Опыт разработки универсальной библиотеки визуальных компонентов в HeadHunter...
"Опыт разработки универсальной библиотеки визуальных компонентов в HeadHunter...
MoscowJS
 
"Во все тяжкие с responsive images", Павел Померанцев, MoscowJS 29
"Во все тяжкие с responsive images", Павел Померанцев, MoscowJS 29"Во все тяжкие с responsive images", Павел Померанцев, MoscowJS 29
"Во все тяжкие с responsive images", Павел Померанцев, MoscowJS 29
MoscowJS
 
"AMP - технология на три буквы", Макс Фролов, MoscowJS 29
"AMP - технология на три буквы", Макс Фролов, MoscowJS 29"AMP - технология на три буквы", Макс Фролов, MoscowJS 29
"AMP - технология на три буквы", Макс Фролов, MoscowJS 29
MoscowJS
 
"Observable и Computed на пример KnockoutJS", Ольга Кобец, MoscowJS 29
"Observable и Computed на пример KnockoutJS", Ольга Кобец, MoscowJS 29"Observable и Computed на пример KnockoutJS", Ольга Кобец, MoscowJS 29
"Observable и Computed на пример KnockoutJS", Ольга Кобец, MoscowJS 29
MoscowJS
 
«Пиринговый веб на JavaScript», Денис Глазков, MoscowJS 28
«Пиринговый веб на JavaScript», Денис Глазков, MoscowJS 28«Пиринговый веб на JavaScript», Денис Глазков, MoscowJS 28
«Пиринговый веб на JavaScript», Денис Глазков, MoscowJS 28
MoscowJS
 
"Доклад не про React", Антон Виноградов, MoscowJS 27
"Доклад не про React", Антон Виноградов, MoscowJS 27"Доклад не про React", Антон Виноградов, MoscowJS 27
"Доклад не про React", Антон Виноградов, MoscowJS 27
MoscowJS
 

More from MoscowJS (20)

Александр Русаков - TypeScript 2 in action
Александр Русаков - TypeScript 2 in actionАлександр Русаков - TypeScript 2 in action
Александр Русаков - TypeScript 2 in action
 
Виктор Розаев - Как не сломать обратную совместимость в Public API
Виктор Розаев - Как не сломать обратную совместимость в Public APIВиктор Розаев - Как не сломать обратную совместимость в Public API
Виктор Розаев - Как не сломать обратную совместимость в Public API
 
Favicon на стероидах
Favicon на стероидахFavicon на стероидах
Favicon на стероидах
 
E2E-тестирование мобильных приложений
E2E-тестирование мобильных приложенийE2E-тестирование мобильных приложений
E2E-тестирование мобильных приложений
 
Reliable DOM testing with browser-monkey
Reliable DOM testing with browser-monkeyReliable DOM testing with browser-monkey
Reliable DOM testing with browser-monkey
 
Basis.js - Production Ready SPA Framework
Basis.js - Production Ready SPA FrameworkBasis.js - Production Ready SPA Framework
Basis.js - Production Ready SPA Framework
 
Контекст в React, Николай Надоричев, MoscowJS 31
Контекст в React, Николай Надоричев, MoscowJS 31Контекст в React, Николай Надоричев, MoscowJS 31
Контекст в React, Николай Надоричев, MoscowJS 31
 
Верстка Canvas, Алексей Охрименко, MoscowJS 31
Верстка Canvas, Алексей Охрименко, MoscowJS 31Верстка Canvas, Алексей Охрименко, MoscowJS 31
Верстка Canvas, Алексей Охрименко, MoscowJS 31
 
Веб без интернет соединения, Михаил Дунаев, MoscowJS 31
Веб без интернет соединения, Михаил Дунаев, MoscowJS 31Веб без интернет соединения, Михаил Дунаев, MoscowJS 31
Веб без интернет соединения, Михаил Дунаев, MoscowJS 31
 
Angular2 Change Detection, Тимофей Яценко, MoscowJS 31
Angular2 Change Detection, Тимофей Яценко, MoscowJS 31Angular2 Change Detection, Тимофей Яценко, MoscowJS 31
Angular2 Change Detection, Тимофей Яценко, MoscowJS 31
 
Создание WYSIWIG-редакторов для веба, Егор Яковишен, Setka, MoscowJs 33
Создание WYSIWIG-редакторов для веба, Егор Яковишен, Setka, MoscowJs 33Создание WYSIWIG-редакторов для веба, Егор Яковишен, Setka, MoscowJs 33
Создание WYSIWIG-редакторов для веба, Егор Яковишен, Setka, MoscowJs 33
 
Предсказуемый Viewport, Вопиловский Константин, KamaGames Studio, MoscowJs 33
Предсказуемый Viewport, Вопиловский Константин, KamaGames Studio, MoscowJs 33Предсказуемый Viewport, Вопиловский Константин, KamaGames Studio, MoscowJs 33
Предсказуемый Viewport, Вопиловский Константин, KamaGames Studio, MoscowJs 33
 
Promise me an Image... Антон Корзунов, Яндекс, MoscowJs 33
Promise me an Image... Антон Корзунов, Яндекс, MoscowJs 33Promise me an Image... Антон Корзунов, Яндекс, MoscowJs 33
Promise me an Image... Антон Корзунов, Яндекс, MoscowJs 33
 
Регрессионное тестирование на lenta.ru, Кондратенко Павел, Rambler&Co, Moscow...
Регрессионное тестирование на lenta.ru, Кондратенко Павел, Rambler&Co, Moscow...Регрессионное тестирование на lenta.ru, Кондратенко Павел, Rambler&Co, Moscow...
Регрессионное тестирование на lenta.ru, Кондратенко Павел, Rambler&Co, Moscow...
 
"Опыт разработки универсальной библиотеки визуальных компонентов в HeadHunter...
"Опыт разработки универсальной библиотеки визуальных компонентов в HeadHunter..."Опыт разработки универсальной библиотеки визуальных компонентов в HeadHunter...
"Опыт разработки универсальной библиотеки визуальных компонентов в HeadHunter...
 
"Во все тяжкие с responsive images", Павел Померанцев, MoscowJS 29
"Во все тяжкие с responsive images", Павел Померанцев, MoscowJS 29"Во все тяжкие с responsive images", Павел Померанцев, MoscowJS 29
"Во все тяжкие с responsive images", Павел Померанцев, MoscowJS 29
 
"AMP - технология на три буквы", Макс Фролов, MoscowJS 29
"AMP - технология на три буквы", Макс Фролов, MoscowJS 29"AMP - технология на три буквы", Макс Фролов, MoscowJS 29
"AMP - технология на три буквы", Макс Фролов, MoscowJS 29
 
"Observable и Computed на пример KnockoutJS", Ольга Кобец, MoscowJS 29
"Observable и Computed на пример KnockoutJS", Ольга Кобец, MoscowJS 29"Observable и Computed на пример KnockoutJS", Ольга Кобец, MoscowJS 29
"Observable и Computed на пример KnockoutJS", Ольга Кобец, MoscowJS 29
 
«Пиринговый веб на JavaScript», Денис Глазков, MoscowJS 28
«Пиринговый веб на JavaScript», Денис Глазков, MoscowJS 28«Пиринговый веб на JavaScript», Денис Глазков, MoscowJS 28
«Пиринговый веб на JavaScript», Денис Глазков, MoscowJS 28
 
"Доклад не про React", Антон Виноградов, MoscowJS 27
"Доклад не про React", Антон Виноградов, MoscowJS 27"Доклад не про React", Антон Виноградов, MoscowJS 27
"Доклад не про React", Антон Виноградов, MoscowJS 27
 

"Content Security Policy" — Алексей Андросов, MoscowJS 18