Saya menggunakan CAPTCHA saat memuat halaman, tetapi ini memblokir karena beberapa alasan keamanan.
Saya menghadapi masalah ini:
Kebijakan Keamanan Konten: Pengaturan halaman memblokir pemuatan sumber daya di http://www.google.com/recaptcha/api.js?onload=myCallBack&render=explicit ("script-src http://test.com:8080 'unsafe-inline' 'unsafe-eval'").
Saya telah menggunakan JavaScript dan meta tag berikut:
<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
sumber
sumber
javascript
tag ke pertanyaan ini, karena pertanyaan tersebut tidak ada hubungannya dengan jQuery. Ini memengaruhi JavaScript apa pun. Sebenarnya, pertanyaan itu akan lebih berguna jika Anda menghapusjQuery
tag sama sekali, tetapi bukan tempat saya untuk melakukannya.Jawaban:
Anda mengatakan Anda hanya dapat memuat skrip dari situs Anda sendiri (sendiri). Anda kemudian mencoba memuat skrip dari situs lain ( www.google.com ) dan, karena Anda telah membatasi ini, Anda tidak dapat melakukannya. Itulah inti dari Kebijakan Keamanan Konten (CSP).
Anda dapat mengubah baris pertama Anda menjadi:
<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">
Atau, sebagai alternatif, mungkin ada baiknya menghapus baris itu sepenuhnya sampai Anda mengetahui lebih lanjut tentang CSP. CSP Anda saat ini cukup lemah (memungkinkan
unsafe-inline
,unsafe-eval
dandefault-src
dari*
), jadi mungkin tidak menambahkan terlalu banyak nilai, jujur saja.sumber
chrome://global/content/elements/panel.js
(Firefox) yang menonaktifkan debug di semua halamanDengan proyek ASP.NET Core Angular saya yang berjalan di Visual Studio 2019, terkadang saya mendapatkan pesan kesalahan ini di konsol Firefox:
Di Chrome, pesan kesalahannya adalah:
Dalam kasus saya, ini tidak ada hubungannya dengan Kebijakan Keamanan Konten saya, melainkan hanya hasil dari kesalahan TypeScript di pihak saya.
Periksa jendela keluaran IDE Anda untuk kesalahan TypeScript, seperti:
> ERROR in src/app/shared/models/person.model.ts(8,20): error TS2304: Cannot find name 'bool'. > > i 「wdm」: Failed to compile.
Catatan: Karena pertanyaan ini adalah hasil pertama di Google untuk pesan kesalahan ini.
sumber
Saya memiliki jenis kesalahan yang serupa. Pertama, saya mencoba menambahkan tag meta ke dalam kode, tetapi tidak berhasil.
Saya menemukan bahwa di server web nginx Anda mungkin memiliki pengaturan keamanan yang dapat memblokir kode eksternal untuk dijalankan:
# 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'";
Periksa Kebijakan-Keamanan-Konten. Anda mungkin perlu menambahkan referensi sumber.
sumber
Saya berhasil mengizinkan semua situs yang saya perlukan dengan tajuk ini:
header("Content-Security-Policy: default-src *; style-src 'self' 'unsafe-inline'; font-src 'self' data:; script-src 'self' 'unsafe-inline' 'unsafe-eval' stackexchange.com");
sumber
Saya menyiasatinya dengan meningkatkan versi Angular yang saya gunakan (dari v8 -> v9) dan versi TypeScript (dari 3.5.3 -> terbaru).
sumber
Anda dapat menonaktifkannya di browser Anda.
Firefox
Ketik
about:config
bilah alamat Firefox dan temukansecurity.csp.enable
dan setel kefalse
.Chrome
Anda dapat menginstal ekstensi yang dipanggil
Disable Content-Security-Policy
untuk menonaktifkan CSP.sumber