As promised, this feature was just enabled by default: CSP Frame Ancestors enabled by default
Olá,
Estou configurando o Google AdSense no meu site e parece que me falta a configuração “Habilitar coleta de relatórios de violação de CSP em /csp_reports”. Atualmente estou auto-hospedando o Discourse na versão 2.9.0.beta6
acima, na citação, uma captura de tela da configuração que me falta
acima, minha página de configurações de CSP com a opção “Habilitar coleta de relatórios de violação de CSP em /csp_reports” faltando.
Qualquer ajuda é apreciada! E por favor, me diga se configurei as opções corretamente para o AdSense, nunca o usei antes
!
Desculpe, minhas respostas anteriores aqui estão desatualizadas porque, há cerca de um mês, tornamos content_security_policy_collect_reports uma configuração oculta. Você ainda pode habilitá-la, mas precisa fazer isso através do console Rails, como em:
./launcher enter app
...
rails c
...
SiteSetting.content_security_policy_collect_reports = true
Note que isso gera muito ruído, recomendo fortemente não seguir por esse caminho e simplesmente habilitar o CSP e navegar pelo site com o console do navegador aberto usando vários navegadores (Chrome, Firefox, Safari). Você encontrará a maioria dos problemas dessa maneira. E com a configuração que você tem, você está basicamente permitindo quase tudo que o CSP protege, então não deve precisar dos relatórios.
Talvez eu esteja perdendo alguma coisa, mas não vejo essas configurações na interface de configurações.
content_security_policycontent_security_policy_report_onlycontent_security_policy_collect_reports(Vejo que está oculto agora)content_security_policy_script_src
Essas opções estão disponíveis para instâncias hospedadas? Não vi nenhuma menção de que isso seria uma limitação na postagem original ou nos comentários.
Edição: Também tentei definir a política de segurança através de um tema.
Não parece estar funcionando conforme instruído na postagem original.
Estou assumindo que o plano hospedado em que estou não permite isso, mesmo quando feito através de um tema ou componente de tema?
Ou talvez eu esteja fazendo algo totalmente errado.
Atualmente, o Discourse envia uma política CSP Nível 2 com as seguintes diretivas por padrão:
base-urirestringe as URLs para o elemento<base>
Existe alguma opção para substituir o valor padrão para o cabeçalho base-uri?
Onde os elementos <base> são realmente usados no discurso?
Isso quebraria as notificações push do Discourse?
Pode ser. Talvez precise de um ambiente mais adequado.
Uma postagem foi dividida em um novo tópico: Qual o método sugerido para usar imagens seguras?
Olá,\n\nPoderia me informar como posso contornar o problema abaixo? Adicionei o script invocando uma nova expressão Function() em content_security_policy_script_src, mas o console do meu navegador ainda reclama com o erro abaixo. Onde posso excluir o unsafe-eval? Obrigado!\n\nUncaught EvalError: Refused to evaluate a string as JavaScript because 'unsafe-eval' is not an allowed source of script in the following Content Security Policy directive:\n\n
Desculpe. Por favor, ignore minha postagem anterior se minhas observações abaixo estiverem corretas. Saiba que, através das postagens acima, posso definir ‘unsafe-eval’ diretamente para content_security_policy_script_src, e não há mais nenhum erro de JS relatado no console.
Talvez dê uma olhada na configuração do site content security policy script src?
Sim. Conforme dito em respostas anteriores, ‘unsafe-eval’ pode ser adicionado diretamente a content_security_policy_script_src. Eu pensei que apenas a base de URL ou a URL completa eram permitidas para adicionar.



