Проблемы с политикой безопасности контента в Google AppEngine - PullRequest
0 голосов
/ 04 мая 2018

У меня проблемы с корректной работой приложения в Google AppEngine. У меня есть приложение Flask, у которого есть политика безопасности содержимого (CSP), управляемая flask-talisman

Я получаю вызовы API, заблокированные для http://my -project.appspot.com / api / foo , поскольку они нарушают политику "connect-src". Запросы к этому URL имеют тип xhr. Фактическое сообщение ниже:

Refused to connect to 'http://review-dot-my-project.appspot.com/api/foo' because it violates the following Content Security Policy directive: "connect-src 'self' *.appspot.com".

На работе мой URL-адрес https://my -project.appspot.com

Для просмотра приложений мой URL-адрес http://review -dot-my-project.appspot.com

Протокол http используется в моих приложениях для обзора, в производстве это https.

Соответствующая часть моего CSP выглядит следующим образом:

...
Talisman(app, content_security_policy={
        'default-src': ["'self'", "*.google.com"],
        ...
        'connect-src': ["'self'", "*.appspot.com"]
    })

Я перепробовал множество итераций connect-src части моего CSP

'connect-src': ["'self'", "*://*.appspot.com"]

'connect-src': ["'self'", "*://*my-project.appspot.com"]

'connect-src': ["'self'", "*.appspot.com"]

'connect-src': ["'self'", "*.appspot.com*"]

Я не могу найти четкую документацию о том, как работают подстановочные знаки. Поскольку Flask Talisman из организации Google Cloud Platform, я надеялся, что смогу найти больше примеров

1 Ответ

0 голосов
/ 04 мая 2018

Я предлагаю попробовать это:

'connect-src': ["'self'", 
                "http://review-dot-my-project.appspot.com", 
                "https://my-project.appspot.com"]

Похоже, вам не нужны подстановочные знаки, и вам лучше, если ваш CSP будет как можно более конкретным.

Вы также можете попробовать это:

'connect-src': ["'self'", 
                "http://*.appspot.com", 
                "https://my-project.appspot.com"]

если у вас есть другие непроизводственные версии вашего приложения.

...