.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/ar/channels/1282234011-netdeveloperdiary","image":"https://img.tlmtr.io/c/1oM7DJ/5319059513262845804?ty=x"},"publisher":{"@type":"Organization","name":".NET Разработчик","url":"https://telemetr.io/ar/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/ar/channels/1282234011-netdeveloperdiary/posts/2029","url":"https://telemetr.io/ar/channels/1282234011-netdeveloperdiary/posts/2029","mainEntityOfPage":"https://telemetr.io/ar/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 элементов
