Я пытаюсь осмыслить CSP (Политика безопасности контента) прежде, чем я добавлю много "вещей" на свой сайт. Я добавил следующий код в соответствии с видеороликами Youtube и различными источниками документации, но мне трудно понять, как обойти определенные проблемы.
<meta http-equiv = "Content-Security-Policy"
content = " upgrade-insecure-requests; default-src;
style-src 'self' *.dmca.com *.trustlogo.com
*.revolvermaps.com *.deviantart.com
*.ebay.co.uk *.amazon.com
connect-src *ra.revolvermaps.com *.revolvermaps.com
https://www.ra.revolvermaps.com/
https://www.revolvermaps.com
font-src 'self' *;
object-src 'self' ;
img-src 'self' ;
script-src https:www.ssl.comodo.com;></meta>
У меня есть на моем веб-сайте сертификат SSL от Comodo, он состоит из двух частей, встроенных в теги сценария: одна находится в теге заголовка, а другая - в нижней части тела. Если CSP работает и выполняет свою работу, то по умолчанию встроенные скрипты отключены? Comodo рекомендует иметь эти скрипты в голове и теле. не рекомендуется использовать inline-Unsafe. Эта часть в порядке, я добавил ссылку в разрешенный атрибут сценариев, и сертификат загружается нормально с зеленым замком вверху. Часть, которая не работает, - это логотип, который использовался для обратной ссылки на этот сайт и показывал действующий сертификат. Его полностью исчезли. &, попробовав каждую комбинацию или экземпляр ссылки comodo в атрибуте "img-src" CSP, я размещаю здесь, чтобы узнать ваше мнение.
Как мне реализовать SSL и CSP, не нарушая ни одного. Могу я; A) поместите сценарии comodo во внешний файл .Js, и если да, то как мне ссылаться на них в HTML без использования встроенных js. теги скрипта. Б) есть ли еще одна ссылка img-src из comodo, которую мне не хватает? C) нужно ли мне добавлять их к любым другим атрибутам CSP, таким как дочерний элемент или объект, о которых я не знаю ...
Я пробовал (* secure.comodo.com - * .trustlogo.com - comodo_secure_seal_100x85-transp.png - https://secure.comodo.com/ - https://ssl.comodo.com - https://trustlogo.com/images/new-trustlogos/) и многие варианты этого .... Поддержка не очень помогла в этом вопросе. этот вопрос говорит, что это не проблема SSL.
пс. "trustlogo / javascript / trustlogo.js" находится в SCRIPT-SRC и, похоже, работает. Места, где я поставил двойной знак "-", обозначают пробел Чтобы быть ясным, скрипт SSL, по-видимому, загружается, но логотип, ссылка на него и изображение замка, которое обычно показывает сертификат при наведении курсора, не работает / не отображается. Любая помощь будет принята с благодарностью, это сделало бы довольно многословный поисковый запрос Google. .. & Я посмотрел, в меньшем количестве слов.



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Я могу дать вам несколько советов, но если у вас много скриптов на вашем сайте, потребуется некоторое время, прежде чем вы получите правильный CSP.
Добавьте report-uri и, возможно, даже report-to на свой сайт csp-
https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy/report-uri
(Я знаю, что report-uri устарел, но на момент написания этого ни один браузер не поддерживает report-to)
Вам нужно будет реализовать какой-то маршрут на вашем сервере для кеширования этих отчетов или зарегистрироваться в какой-либо сторонней службе)
По моему опыту, отчет несложно понять, но как только вы его настроите, станет намного легче увидеть, когда ваш CSP что-то блокирует. на данный момент это, вероятно, будет только то, что вы не настроили должным образом, но после того, как вы закончите настройку CSP должным образом, очень важно знать, когда что-то было заблокировано на вашем сайте, и выяснить, как это могло быть введено в первую очередь.
Как и в случае с Comdo, js-код, который вы упомянули, не имеет ничего общего с фактическим ssl вашего сайта, это просто comodo, рекламирующий себя на вашем веб-сайте. Если вы все еще хотите, чтобы их логотип и что-то еще было, вы можете без проблем переместить скрипты во внешний файл js.
Лучшая практика JS рекомендует размещать скрипты в конце тега body (в основном из соображений производительности). Существует небольшая вероятность того, что размещение тега script в конце тега body может привести к его поломке, но я бы попробовал сначала и только в том случае, если это не работает по какой-то причине я бы переместил его в начало страницы
Я думаю, я где-то читал, что вы можете использовать отчет, чтобы отправить электронное письмо? или направьте файл журнала куда-нибудь, или я ошибся ....
Я не возражаю против рекламы comodo на моем сайте. Мне очень нравится этот логотип, и он делает сайт более профессиональным, даже если он не на этом уровне.
@RyanStone Не изначально. Вам необходимо настроить конечную точку на вашем сервере, чтобы получить отчет csp. как только вы его получите, вы можете зарегистрировать его, отправить по электронной почте или сделать с ним что-нибудь еще.
@RyanStone Лично мне не нравится этот "безопасный" логотип, поскольку он вводит в заблуждение (я видел несколько интернет-магазинов, использующих их, когда у них не было ssl). Также это ничего не значит для безопасности вашего сайта, только то, что текущее соединение private, поэтому большинство зараженных пользователей вводят в заблуждение. Но я могу понять, как большинство непрофессионалов могут предположить, что это имеет значение.
Пс. revolvermaps также не работает с CSP, но я выясню это позже .. Возможно, добавьте его в child-src, Object-src или загрузите его, возможно