Estou usando CAPTCHA no carregamento da página, mas ele está bloqueando por algum motivo de segurança.
Estou enfrentando este problema:
Política de segurança de conteúdo: as configurações da página bloquearam o carregamento de um recurso em http://www.google.com/recaptcha/api.js?onload=myCallBack&render=explicit ("script-src http://test.com:8080 'unsafe-inline' 'unsafe-eval'").
Usei o seguinte JavaScript e metatag:
<meta http-equiv="Content-Security-Policy" content="default-src *; style-src 'self' 'unsafe-inline'; script-src 'self' 'unsafe-inline' 'unsafe-eval'">
<script src="http://www.google.com/recaptcha/api.js?onload=myCallBack&render=explicit" async defer></script>
javascript
jquery
content-security-policy
Shakti Sharma
fonte
fonte
javascript
tag a esta questão, porque a questão não tem nada a ver com jQuery. Afeta qualquer JavaScript. Na verdade, a pergunta seria mais útil se você remover ajQuery
tag por completo, mas não é minha função fazer isso.Respostas:
Você disse que só pode carregar scripts de seu próprio site (próprio). Você então tentou carregar um script de outro site ( www.google.com ) e, porque você restringiu isso, você não pode. Esse é o ponto principal da Política de Segurança de Conteúdo (CSP).
Você pode alterar sua primeira linha para:
<meta http-equiv="Content-Security-Policy" content="default-src *; style-src 'self' 'unsafe-inline'; script-src 'self' 'unsafe-inline' 'unsafe-eval' http://www.google.com">
Ou, como alternativa, pode valer a pena remover essa linha completamente até que você descubra mais sobre CSP. Seu CSP atual é de qualquer maneira muito frouxa (permitindo
unsafe-inline
,unsafe-eval
e umadefault-src
das*
), por isso provavelmente não é a adição de muito valor, para ser honesto.fonte
chrome://global/content/elements/panel.js
(Firefox) que desativa a depuração em todas as páginasCom meu projeto ASP.NET Core Angular em execução no Visual Studio 2019, às vezes recebo esta mensagem de erro no console do Firefox:
No Chrome, a mensagem de erro é:
No meu caso, não teve nada a ver com minha Política de Segurança de Conteúdo, mas foi simplesmente o resultado de um erro de TypeScript de minha parte.
Verifique se há um erro de TypeScript na janela de saída do IDE, como:
> ERROR in src/app/shared/models/person.model.ts(8,20): error TS2304: Cannot find name 'bool'. > > i 「wdm」: Failed to compile.
Observação: já que esta pergunta é o primeiro resultado no Google para esta mensagem de erro.
fonte
Eu tive um tipo de erro semelhante. Primeiro, tentei adicionar as metatags no código, mas não funcionou.
Descobri que no servidor da web nginx você pode ter uma configuração de segurança que pode bloquear a execução de código externo:
# Security directives server_tokens off; add_header X-Frame-Options SAMEORIGIN; add_header X-Content-Type-Options nosniff; add_header X-XSS-Protection "1; mode=block"; add_header Content-Security-Policy "default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval' https://ajax.googleapis.com https://ssl.google-analytics.com https://assets.zendesk.com https://connect.facebook.net; img-src 'self' https://ssl.google-analytics.com https://s-static.ak.facebook.com https://assets.zendesk.com; style-src 'self' 'unsafe-inline' https://assets.zendesk.com; font-src 'self' https://fonts.gstatic.com https://themes.googleusercontent.com; frame-src https://player.vimeo.com https://assets.zendesk.com https://www.facebook.com https://s-static.ak.facebook.com https://tautt.zendesk.com; object-src 'none'";
Verifique a Política de Segurança de Conteúdo. Pode ser necessário adicionar a referência da fonte.
fonte
Consegui permitir todos os meus sites necessários com este cabeçalho:
header("Content-Security-Policy: default-src *; style-src 'self' 'unsafe-inline'; font-src 'self' data:; script-src 'self' 'unsafe-inline' 'unsafe-eval' stackexchange.com");
fonte
Eu contornei isso atualizando a versão do Angular que eu estava usando (de v8 -> v9) e a versão do TypeScript (de 3.5.3 -> mais recente).
fonte
Você pode desativá-los em seu navegador.
Raposa de fogo
Digite
about:config
na barra de endereços do Firefox, localizesecurity.csp.enable
e defina comofalse
.cromada
Você pode instalar a extensão chamada
Disable Content-Security-Policy
para desativar o CSP.fonte