CSP & SSL встроенный Javascript и как ссылаться извне - PullRequest
0 голосов
/ 10 июня 2018

Я пытаюсь обернуть голову в CSP (Content Security Policy), прежде чем добавить много «материала» на свой сайт.Я добавил следующий код, согласно видео 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, он состоит из двух частей, которые встроены в теги сценария: одна находится в теге head, а другая - в нижней части тела.Если 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.

ps. "trustlogo / javascript / trustlogo.js" находится в SCRIPT-SRC и, кажется, работает. Места, где я поставил двойной знак "-", указываютПробел Просто чтобы прояснить, скрипт SSL явно загружается, но логотип, там ссылка и изображение замка, которое обычно показывает сертификат, когда зависание не работает / показывает. Любая помощь будет принята с благодарностью, это сделает довольно многословный поиск в Google.просьба ... и я посмотрел, в нескольких словах.

1 Ответ

0 голосов
/ 12 июня 2018

Я могу дать вам несколько советов, но если на вашем сайте много сценариев, потребуется некоторое время, пока вы не получите правильный 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 вашего сайта, он просто комодо рекламирует себя на вашем веб-сайте.Если вы все еще хотите иметь их логотип и все остальное, вы можете переместить сценарии во внешний js-файл без проблем.

В соответствии с рекомендациями JS рекомендуется размещать сценарии в конце тега body (в основном из соображений производительности).) существует небольшая вероятность того, что размещение тега script в конце тега body может привести к его поломке, но сначала я попробую его, и только если по какой-то причине это не сработает, я бы переместил его в началостраница

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...