SlideShare una empresa de Scribd logo
1 de 55
Descargar para leer sin conexión
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

Más contenido relacionado

La actualidad más candente

OWASP Secure Coding Practices - Quick Reference Guide
OWASP Secure Coding Practices - Quick Reference GuideOWASP Secure Coding Practices - Quick Reference Guide
OWASP Secure Coding Practices - Quick Reference GuideLudovic Petit
 
Introduction to Node.js
Introduction to Node.jsIntroduction to Node.js
Introduction to Node.jsVikash Singh
 
Cross Site Scripting ( XSS)
Cross Site Scripting ( XSS)Cross Site Scripting ( XSS)
Cross Site Scripting ( XSS)Amit Tyagi
 
Media queries A to Z
Media queries A to ZMedia queries A to Z
Media queries A to ZShameem Reza
 
Preventing XSS with Content Security Policy
Preventing XSS with Content Security PolicyPreventing XSS with Content Security Policy
Preventing XSS with Content Security PolicyKsenia Peguero
 
System hardening - OS and Application
System hardening - OS and ApplicationSystem hardening - OS and Application
System hardening - OS and Applicationedavid2685
 
Defensive Programming 2013-03-18
Defensive Programming 2013-03-18Defensive Programming 2013-03-18
Defensive Programming 2013-03-18Laura A Schild
 
Android Hacking
Android HackingAndroid Hacking
Android Hackingantitree
 
Web Application Development using PHP and MySQL
Web Application Development using PHP and MySQLWeb Application Development using PHP and MySQL
Web Application Development using PHP and MySQLGanesh Kamath
 
Introduction to react_js
Introduction to react_jsIntroduction to react_js
Introduction to react_jsMicroPyramid .
 
Web Application Vulnerabilities
Web Application VulnerabilitiesWeb Application Vulnerabilities
Web Application VulnerabilitiesPreetish Panda
 
Mobile Browser Internal (Blink Rendering Engine)
Mobile Browser Internal (Blink Rendering Engine)Mobile Browser Internal (Blink Rendering Engine)
Mobile Browser Internal (Blink Rendering Engine)Hyungwook Lee
 
X-XSS-Nightmare: 1; mode=attack XSS Attacks Exploiting XSS Filter
X-XSS-Nightmare: 1; mode=attack XSS Attacks Exploiting XSS FilterX-XSS-Nightmare: 1; mode=attack XSS Attacks Exploiting XSS Filter
X-XSS-Nightmare: 1; mode=attack XSS Attacks Exploiting XSS FilterMasato Kinugawa
 
Introduction to Cross Site Scripting ( XSS )
Introduction to Cross Site Scripting ( XSS )Introduction to Cross Site Scripting ( XSS )
Introduction to Cross Site Scripting ( XSS )Irfad Imtiaz
 

La actualidad más candente (20)

OWASP Secure Coding Practices - Quick Reference Guide
OWASP Secure Coding Practices - Quick Reference GuideOWASP Secure Coding Practices - Quick Reference Guide
OWASP Secure Coding Practices - Quick Reference Guide
 
Introduction to Node.js
Introduction to Node.jsIntroduction to Node.js
Introduction to Node.js
 
Cross Site Scripting ( XSS)
Cross Site Scripting ( XSS)Cross Site Scripting ( XSS)
Cross Site Scripting ( XSS)
 
Media queries A to Z
Media queries A to ZMedia queries A to Z
Media queries A to Z
 
Preventing XSS with Content Security Policy
Preventing XSS with Content Security PolicyPreventing XSS with Content Security Policy
Preventing XSS with Content Security Policy
 
System hardening - OS and Application
System hardening - OS and ApplicationSystem hardening - OS and Application
System hardening - OS and Application
 
Click jacking
Click jackingClick jacking
Click jacking
 
Defensive Programming 2013-03-18
Defensive Programming 2013-03-18Defensive Programming 2013-03-18
Defensive Programming 2013-03-18
 
Android Hacking
Android HackingAndroid Hacking
Android Hacking
 
Web Application Development using PHP and MySQL
Web Application Development using PHP and MySQLWeb Application Development using PHP and MySQL
Web Application Development using PHP and MySQL
 
Node js introduction
Node js introductionNode js introduction
Node js introduction
 
Introduction to NodeJS
Introduction to NodeJSIntroduction to NodeJS
Introduction to NodeJS
 
Introduction to react_js
Introduction to react_jsIntroduction to react_js
Introduction to react_js
 
Web Application Vulnerabilities
Web Application VulnerabilitiesWeb Application Vulnerabilities
Web Application Vulnerabilities
 
Mobile Browser Internal (Blink Rendering Engine)
Mobile Browser Internal (Blink Rendering Engine)Mobile Browser Internal (Blink Rendering Engine)
Mobile Browser Internal (Blink Rendering Engine)
 
Cross site scripting
Cross site scriptingCross site scripting
Cross site scripting
 
X-XSS-Nightmare: 1; mode=attack XSS Attacks Exploiting XSS Filter
X-XSS-Nightmare: 1; mode=attack XSS Attacks Exploiting XSS FilterX-XSS-Nightmare: 1; mode=attack XSS Attacks Exploiting XSS Filter
X-XSS-Nightmare: 1; mode=attack XSS Attacks Exploiting XSS Filter
 
React js t2 - jsx
React js   t2 - jsxReact js   t2 - jsx
React js t2 - jsx
 
Introduction to Cross Site Scripting ( XSS )
Introduction to Cross Site Scripting ( XSS )Introduction to Cross Site Scripting ( XSS )
Introduction to Cross Site Scripting ( XSS )
 
Windows Hacking
Windows HackingWindows Hacking
Windows Hacking
 

Destacado

2014.12.06 05 Антон Плешивцев — Разбираем естественные языки на Lisp'е
2014.12.06 05 Антон Плешивцев — Разбираем естественные языки на Lisp'е2014.12.06 05 Антон Плешивцев — Разбираем естественные языки на Lisp'е
2014.12.06 05 Антон Плешивцев — Разбираем естественные языки на Lisp'еHappyDev
 
Назад в будущее! …и другие мысли о подготовке программистов в ВУЗах
Назад в будущее! …и другие мысли о подготовке программистов в ВУЗахНазад в будущее! …и другие мысли о подготовке программистов в ВУЗах
Назад в будущее! …и другие мысли о подготовке программистов в ВУЗахDennis Schetinin
 
Построение мультисервисного стартапа в реалиях full-stack javascript
Построение мультисервисного стартапа в реалиях full-stack javascriptПостроение мультисервисного стартапа в реалиях full-stack javascript
Построение мультисервисного стартапа в реалиях full-stack javascriptFDConf
 
CodeFest 2013. Прокопов Н. — Зачем вам нужна Clojure?
CodeFest 2013. Прокопов Н. — Зачем вам нужна Clojure?CodeFest 2013. Прокопов Н. — Зачем вам нужна Clojure?
CodeFest 2013. Прокопов Н. — Зачем вам нужна Clojure?CodeFest
 
Трансдюсеры, CSP каналы, неизменяемые структуры данных в JavaScript
Трансдюсеры, CSP каналы, неизменяемые структуры данных в JavaScriptТрансдюсеры, CSP каналы, неизменяемые структуры данных в JavaScript
Трансдюсеры, CSP каналы, неизменяемые структуры данных в JavaScriptMax 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.asyncFalko 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 Clojuredenyslebediev
 
как интернет делает 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 по информационной безопасности 2015Cisco Russia
 
Presentation wonder full_30
Presentation wonder full_30Presentation wonder full_30
Presentation wonder full_30Vera Kovaleva
 
Мобильный банкинг в России: особенности спроса и предложения
Мобильный банкинг в России: особенности спроса и предложенияМобильный банкинг в России: особенности спроса и предложения
Мобильный банкинг в России: особенности спроса и предложенияAlexey Skobelev
 
Методология Mobilebanking 2015
Методология Mobilebanking 2015Методология Mobilebanking 2015
Методология Mobilebanking 2015Kirill 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.kzIskander Akhmetov
 

Destacado (20)

2014.12.06 05 Антон Плешивцев — Разбираем естественные языки на Lisp'е
2014.12.06 05 Антон Плешивцев — Разбираем естественные языки на Lisp'е2014.12.06 05 Антон Плешивцев — Разбираем естественные языки на Lisp'е
2014.12.06 05 Антон Плешивцев — Разбираем естественные языки на Lisp'е
 
Назад в будущее! …и другие мысли о подготовке программистов в ВУЗах
Назад в будущее! …и другие мысли о подготовке программистов в ВУЗахНазад в будущее! …и другие мысли о подготовке программистов в ВУЗах
Назад в будущее! …и другие мысли о подготовке программистов в ВУЗах
 
Построение мультисервисного стартапа в реалиях 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
 

Más de MoscowJS

Александр Русаков - TypeScript 2 in action
Александр Русаков - TypeScript 2 in actionАлександр Русаков - TypeScript 2 in action
Александр Русаков - TypeScript 2 in actionMoscowJS
 
Виктор Розаев - Как не сломать обратную совместимость в Public API
Виктор Розаев - Как не сломать обратную совместимость в Public APIВиктор Розаев - Как не сломать обратную совместимость в Public API
Виктор Розаев - Как не сломать обратную совместимость в Public APIMoscowJS
 
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-monkeyMoscowJS
 
Basis.js - Production Ready SPA Framework
Basis.js - Production Ready SPA FrameworkBasis.js - Production Ready SPA Framework
Basis.js - Production Ready SPA FrameworkMoscowJS
 
Контекст в React, Николай Надоричев, MoscowJS 31
Контекст в React, Николай Надоричев, MoscowJS 31Контекст в React, Николай Надоричев, MoscowJS 31
Контекст в React, Николай Надоричев, MoscowJS 31MoscowJS
 
Верстка Canvas, Алексей Охрименко, MoscowJS 31
Верстка Canvas, Алексей Охрименко, MoscowJS 31Верстка Canvas, Алексей Охрименко, MoscowJS 31
Верстка Canvas, Алексей Охрименко, MoscowJS 31MoscowJS
 
Веб без интернет соединения, Михаил Дунаев, MoscowJS 31
Веб без интернет соединения, Михаил Дунаев, MoscowJS 31Веб без интернет соединения, Михаил Дунаев, MoscowJS 31
Веб без интернет соединения, Михаил Дунаев, MoscowJS 31MoscowJS
 
Angular2 Change Detection, Тимофей Яценко, MoscowJS 31
Angular2 Change Detection, Тимофей Яценко, MoscowJS 31Angular2 Change Detection, Тимофей Яценко, MoscowJS 31
Angular2 Change Detection, Тимофей Яценко, MoscowJS 31MoscowJS
 
Создание WYSIWIG-редакторов для веба, Егор Яковишен, Setka, MoscowJs 33
Создание WYSIWIG-редакторов для веба, Егор Яковишен, Setka, MoscowJs 33Создание WYSIWIG-редакторов для веба, Егор Яковишен, Setka, MoscowJs 33
Создание WYSIWIG-редакторов для веба, Егор Яковишен, Setka, MoscowJs 33MoscowJS
 
Предсказуемый Viewport, Вопиловский Константин, KamaGames Studio, MoscowJs 33
Предсказуемый Viewport, Вопиловский Константин, KamaGames Studio, MoscowJs 33Предсказуемый Viewport, Вопиловский Константин, KamaGames Studio, MoscowJs 33
Предсказуемый Viewport, Вопиловский Константин, KamaGames Studio, MoscowJs 33MoscowJS
 
Promise me an Image... Антон Корзунов, Яндекс, MoscowJs 33
Promise me an Image... Антон Корзунов, Яндекс, MoscowJs 33Promise me an Image... Антон Корзунов, Яндекс, MoscowJs 33
Promise me an Image... Антон Корзунов, Яндекс, MoscowJs 33MoscowJS
 
Регрессионное тестирование на 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 29MoscowJS
 
"AMP - технология на три буквы", Макс Фролов, MoscowJS 29
"AMP - технология на три буквы", Макс Фролов, MoscowJS 29"AMP - технология на три буквы", Макс Фролов, MoscowJS 29
"AMP - технология на три буквы", Макс Фролов, MoscowJS 29MoscowJS
 
"Observable и Computed на пример KnockoutJS", Ольга Кобец, MoscowJS 29
"Observable и Computed на пример KnockoutJS", Ольга Кобец, MoscowJS 29"Observable и Computed на пример KnockoutJS", Ольга Кобец, MoscowJS 29
"Observable и Computed на пример KnockoutJS", Ольга Кобец, MoscowJS 29MoscowJS
 
«Пиринговый веб на JavaScript», Денис Глазков, MoscowJS 28
«Пиринговый веб на JavaScript», Денис Глазков, MoscowJS 28«Пиринговый веб на JavaScript», Денис Глазков, MoscowJS 28
«Пиринговый веб на JavaScript», Денис Глазков, MoscowJS 28MoscowJS
 
"Доклад не про React", Антон Виноградов, MoscowJS 27
"Доклад не про React", Антон Виноградов, MoscowJS 27"Доклад не про React", Антон Виноградов, MoscowJS 27
"Доклад не про React", Антон Виноградов, MoscowJS 27MoscowJS
 

Más de 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