Каталог
Веб-разработка с нуля: четыре курса по порядку.
HTML, затем CSS, JavaScript и SQL. Каждый курс говорит, что нужно знать до него и что вы будете уметь после.
Загружаем курсы…
Каталог
HTML, затем CSS, JavaScript и SQL. Каждый курс говорит, что нужно знать до него и что вы будете уметь после.
Загружаем курсы…
Урок 56 из 70 · 11 мин
CSP, integrity, crossorigin, rel=noopener, sandbox и почему нельзя вставлять чужой HTML как есть.
Я оставил отзыв: <script>украсть_всё()</script>. Если сайт покажет его как HTML — я победил 😈
Не победил. Чужой текст мы выводим как текст, не как код.
Звучит страшно.
Сейчас разберём пять правил — и не будет страшно.
<meta http-equiv="Content-Security-Policy">. Скриптам — nonce.integrityscript и link. Не совпал — файл не выполнится.<script src="https://cdn.example/lib.js" integrity="sha384-…" crossorigin="anonymous"></script>crossoriginanonymous — без кук, use-credentials — с ними. У script, link, img, audio, video.integrity и шрифтов с CDN.<img src="https://cdn.example/raf.jpg" crossorigin="anonymous" alt="Пенал">noncescript или style по правилам CSP.<script nonce="r4nd0m">init()</script>noopener · sandboxrel="noopener" для новых вкладок, sandbox для iframe.method="post".Вредный Скрипт может подменить файл на CDN. Подключи скрипт безопасно: укажи integrity с хешем и crossorigin="anonymous", а ссылку в новой вкладке защити rel="noopener noreferrer".
integrity с хешем — пока нетcrossorigin="anonymous" — пока нетnoopener noreferrer — пока нетВыберите один ответ.
Как безопасно вывести на странице комментарий пользователя?
Выберите один ответ.
Какой атрибут не даст выполнить скрипт с CDN, если файл подменили?
Выберите все подходящие варианты.
Что из этого — ошибки безопасности?
Проверяем состояние обучения…