.NET Разработчик
رفتن به کانال در Telegram
Дневник сертифицированного .NET разработчика. Заметки, советы, новости из мира .NET и C#. Для связи: @SBenzenko Поддержать канал: - https://boosty.to/netdeveloperdiary - https://patreon.com/user?u=52551826 - https://pay.cloudtips.ru/p/70df3b3b
نمایش بیشتر6 723
مشترکین
اطلاعاتی وجود ندارد24 ساعت
+87 روز
+430 روز
آرشیو پست ها
. \nПри этом \n \nбудет работать. Обычно лучше избегать встроенного кода. Вынесите код JavaScript и CSS во внешние файлы.\n\nОднако, если нужно активировать встроенный контент, есть несколько вариантов:\n1. Атрибут nonce (одноразовый номер)\nСлучайный одноразовый токен (например, GUID), который добавляется в HTTP заголовок:\ndefault-src 'self'; style-src 'self' 'nonce-123456'; script-src 'self' 'nonce-123456'\nи во все элементы \n\n2. Хэш контента элемента\nНужно вычислить хеш SHA256, SHA384 или SHA512 контента элемента \nЕсли содержимое файла JavaScript не совпадает с хэшем, браузер откажется выполнить код.\n\nОкончание следует…\n\nИсточник: Кристиан Венц “Безопасность ASP.NET Core”. М.: ДМК Пресс, 2023. Глава 2.","datePublished":"2023-09-01T03:46:06Z","dateModified":"2023-09-01T03:46:06Z","author":{"@type":"Organization","name":".NET Разработчик","url":"https://telemetr.io/fa/channels/1282234011-netdeveloperdiary","image":"https://img.tlmtr.io/c/1oM7DJ/5319059513262845804?ty=x"},"publisher":{"@type":"Organization","name":".NET Разработчик","url":"https://telemetr.io/fa/channels/1282234011-netdeveloperdiary","image":"https://img.tlmtr.io/c/1oM7DJ/5319059513262845804?ty=x"},"commentCount":0,"interactionStatistic":[{"@type":"InteractionCounter","interactionType":"https://schema.org/ViewAction","userInteractionCount":1129},{"@type":"InteractionCounter","interactionType":"https://schema.org/LikeAction","userInteractionCount":6},{"@type":"InteractionCounter","interactionType":"https://schema.org/ShareAction","userInteractionCount":10}]}},{"@type":"ListItem","position":7,"item":{"@type":"SocialMediaPosting","@id":"https://telemetr.io/fa/channels/1282234011-netdeveloperdiary/posts/2029","url":"https://telemetr.io/fa/channels/1282234011-netdeveloperdiary/posts/2029","mainEntityOfPage":"https://telemetr.io/fa/channels/1282234011-netdeveloperdiary/posts/2029","headline":"День 1674. #Безопасность Политика Безопасности Контента. Начало Политика безопасности контента (Content Secur…","articleBody":"День 1674. #Безопасность\nПолитика Безопасности Контента. Начало\nПолитика безопасности контента (Content Security Policy, CSP) представляет собой HTTP-заголовок Content-Security-Policy, который указывает браузерам, откуда загружать (и, в случае JavaScript, исполнять) контент, что может сделать почти невозможным осуществление межсайтового скриптинга. Значение заголовка состоит из директив и связанных значений.\n\nОсновная директива default-src предоставляет браузеру список всех действительных источников* или URI ресурсов.\n\n*Источник определяется как следующие три значения:\n- схема – http: или https:;\n- полностью определённое имя домена – www.example.com;\n- порт – по умолчанию 80 для HTTP или 443 для HTTPS (если используется порт по умолчанию, то обычно он не является частью значения источника).\nЕсли все три части различных источников идентичны, значит они совпадают. Например, у www.example.com и example.com разный источник, поскольку имена доменов не совпадают.\n\nКроме HTTP-заголовка можно использовать тег :\n\nОднако, это не очень удобно, когда значение директивы длинное. Кроме того, не будут работать некоторые функции CSP.\n\nCSP определяет большое количество директив для различных видов ресурсов:\n- base-uri – значения или пути, разрешенные для ;\n- child-src - фреймы и веб-воркеры,\n- connect-src - запросы HTTP и WebSocket,\n- font-src – шрифты,\n- form-action – значения для атрибута action элементов
