Skript bewirkt, dass "Refused to execute inline script: Entweder die 'unsafe-inline' - Schlüsselwort, wird ein hash... oder eine nonce, die benötigt wird, um zu ermöglichen inline-Ausführung"
Ich bekomme immer diese Fehlermeldung:
Verweigert das ausführen von inline-script, weil es gegen die folgenden Content-Security-Policy Richtlinie: "default-src 'self' data: gap: http://www.visitsingapore.com https://ssl.gstatic.com 'unsafe-eval'". Entweder die 'unsafe-inline' - Schlüsselwort, wird ein hash ('sha256-V+/U3qbjHKP0SaNQhMwYNm62gfWX4QHwPJ7we1pxoki='), oder eine nonce ('nonce-...') ist erforderlich, damit die inline-Ausführung. Beachten Sie auch, dass 'script-src' wurde nicht explizit festgelegt ist, so "default-src' wird als fallback verwendet.
Kann mir jemand sagen, wie man dieses Problem lösen und was bedeutet es? Mein code ist:
<meta http-equiv="Content-Security-Policy" content="default-src 'self' data:gap: http://www.visitsingapore.com https://ssl.gstatic.com 'unsafe-eval'; style-src 'self' 'unsafe-inline'; media-src *">
<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
<link rel="stylesheet" type="text/css" href="css/index.css">
<link rel="stylesheet" href="css/jquery.mobile-1.4.5.css">
<script src="lib/jquery-3.2.1.min.js"></script>
<script type="text/javascript" src="scripts/key.js"></script>
<script>$.ajax({
url: ' http://www.visitsingapore.com/api.listing.en.json',
type: 'GET',
beforeSend: function (xhr) {
xhr.setRequestHeader('email ID', '[email protected]');
xhr.setRequestHeader('token ID', '-------');
},
data: {},
success: function (qwe12) {
var TrueResult2 = JSON.stringify(qwe12);
document.write(TrueResult2);
},
error: function () { },
});</script>
InformationsquelleAutor Yi Kiat | 2017-09-16
Du musst angemeldet sein, um einen Kommentar abzugeben.
Der beste Weg, dies zu beheben, wäre, dass
$.ajax(…)
Anruf aus dem Dokument und verschieben Sie es in eine externe Datei namensajax-call.js
, und dann dies tun:Dem Grund, dass besser ist, wenn du dir schon die Mühe machen, die Einstellung eines CSP-Richtlinie für ein Dokument, dann sollten Sie idealerweise gehen, um den zusätzlichen Aufwand der Beseitigung aller inline-Scripte.
Aber wenn aus irgendeinem Grund Sie wirklich müssen zu halten, dass script inline im Dokument, kann man das ändern
meta
element, so dass exakte sha256-hash-Wert aus dem Fehler-Nachricht enthalten ist, die als Quelle für diescript-src
Richtlinie, wie dies (mit einigen Zeilenumbrüche Hinzugefügt, nur zur besseren Lesbarkeit):Und ein paar Orte, um ein bisschen mehr Informationen:
Es bedeutet, dass das beschriebene problem in der Frage ist gelöst. Aber Sie haben eine zusätzliche völlig Infrarot-problem als die, die Sie beschreiben, in der Frage, die hier beantwortet werden. Sie sollten also post eine neue Frage über die zusätzliche unabhängige problem
InformationsquelleAutor sideshowbarker