Meine reagierende WebApp gibt diesen Fehler in der Browserkonsole aus
Refused to load the font 'data:font/woff;base64,d09........' because it`
`violates the following Content Security Policy directive: "default-src` `'self'". Note that 'font-src' was not explicitly set, so 'default-src' is used as a fallback.
Ebenfalls:
Refused to connect to 'ws://localhost:3000/sockjs-node/782/oawzy1fx/websocket' because it violates the following Content Security Policy directive: "default-src 'self'". Note that 'connect-src' was not explicitly set, so 'default-src' is used as a fallback.
index.html Haben Sie dieses Meta:
<meta http-equiv="Content-Security-Policy" content="img-src 'self' data:; default-src 'self' http://121.0.0:3000/">
WebPack.cofig.js
var debug = process.env.NODE_ENV !== "production";
var webpack = require('webpack');
var path = require('path');
module.exports = {
context: path.join(__dirname, "./src"),
devtool: debug ? "inline-sourcemap" : true,
entry: "../src/index.js",
module: {
rules: [
{
test: /\.(jpe?g|png|gif|svg|woff|woff2|eot|ttf)$/i, // a regular expression that catches .js files
exclude: /node_modules/,
loader: 'url-loader',
},
{
test: /\.(js|.jsx)$/,
exclude: /(node_modules|bower_components)/,
loader: 'babel-loader',
query: {
presets: ['react','es2016', 'stage-0',],
plugins: ['react-html-attrs', 'transform-decorators-legacy', 'transform-class-properties'],
}
},
{
test: /\.css$/,
use: [
"style-loader",
{
loader: "css-loader",
}
]
}
]
},
resolve: {
modules: [
path.join(__dirname, "src"),
"node_modules",
]
},
output: {
path: __dirname + "/public/",
// publicPath: "/public/",
filename: "build.js"
},
plugins: debug ? [] : [
new webpack.optimize.DedupePlugin(),
new webpack.optimize.OccurrenceOrderPlugin(),
new webpack.optimize.UglifyJsPlugin({ mangle: false, sourcemap: false }),
],
devServer: {
port: 3000, // most common port
contentBase: './public',
inline: true,
historyApiFallback: true,
}
};
javascript
reactjs
webpack
JavaScript-Lerner
quelle
quelle
Antworten:
Für mich lag es an der Chrome-Erweiterung 'Grammarly'. Nachdem ich das deaktiviert habe, habe ich den Fehler nicht erhalten.
quelle
Um diesen speziellen Fehler zu beheben, sollte CSP Folgendes enthalten:
Das Meta index.html sollte also lauten:
quelle
http://121.0.0:3000/
während 'self' bereits verwendet wird?Für das, was es wert ist - ich hatte ein ähnliches Problem, vorausgesetzt, es hängt mit einem Chrome-Update zusammen.
Ich musste font-src hinzufügen und dann die URL angeben, da ich ein CDN verwendete
quelle
data: fonts.gstatic.com
Aus persönlicher Erfahrung ist es immer der beste erste Schritt, Ihre Website in Incognito (Chrome), Private Browsing (Firefox) und InPrivate (IE11 && Edge) auszuführen, um die Interferenz von Add-Ons / Erweiterungen zu beseitigen. Diese können das Testen in diesem Modus weiterhin beeinträchtigen, wenn sie in ihren Einstellungen explizit aktiviert sind. Dies ist jedoch ein einfacher erster Schritt zur Fehlerbehebung.
Der Grund, warum ich hier bin, war, dass Web of Trust (WoT) meiner Seite Inhalte hinzufügte und meine Seite sehr strenge Richtlinien zur Inhaltssicherheit hatte:
Dies verursachte viele Fehler. Ich suchte eher nach einer Antwort, wie ich der Erweiterung mitteilen kann, dass sie nicht versuchen soll, diese Site programmgesteuert auszuführen. Auf diese Weise werden Personen, die Erweiterungen haben, auf meiner Website einfach nicht ausgeführt. Ich stelle mir vor, wenn dies möglich wäre, wären Werbeblocker auf Websites schon vor langer Zeit verboten worden. Meine Forschung ist also ein bisschen naiv. Ich hoffe, dies hilft allen anderen, die versuchen, ein Problem zu diagnostizieren, das nicht speziell mit der Handvoll der in anderen Antworten genannten Erweiterungen zusammenhängt.
quelle
Möglicherweise müssen Sie Folgendes hinzufügen
webpack.config.js
:quelle
Ich hatte heute auch den gleichen Fehler in meiner Knotenanwendung.
Unten war meine Knoten-API.
Das Update war sehr einfach, mir fehlte ein Schrägstrich "/" vor meiner API. Nachdem der Pfad von 'azureTable' zu '/ azureTable' geändert wurde, wurde das Problem behoben.
quelle
Mit CSP können Sie vertrauenswürdige Quellen auf die Whitelist setzen. Alle anderen Quellen haben keinen Zugriff auf. Lesen Sie diese Fragen und Antworten sorgfältig durch und stellen Sie dann sicher, dass Sie die Schriftarten, Socket-Verbindungen und anderen Quellen auf die Whitelist setzen, wenn Sie ihnen vertrauen .
Wenn Sie wissen, was Sie tun, können Sie das zu testende
meta
Tag auskommentieren. Wahrscheinlich funktioniert alles. Beachten Sie jedoch, dass Sie / Ihr Benutzer hier geschützt sind.meta
Daher ist es wahrscheinlich eine gute Sache , das Tag beizubehalten.quelle
Refused to load the font 'data:font/woff;base64,d09
diesen Fehler trotzdem lösen<meta http-equiv="Content-Security-Policy" content="default-src *; style-src * 'unsafe-inline'; script-src * 'unsafe-inline' 'unsafe-eval'; img-src * data: 'unsafe-inline'; connect-src * 'unsafe-inline'; frame-src *;"
Ich hatte ein ähnliches Problem. Ich hatte in angular.json einen falschen Ausgabeordnerpfad erwähnt
quelle
Ich hatte ein ähnliches Problem.
font-src - soll den Browser anweisen, die Schriftarten von src zu laden, die danach angegeben werden. font-src: 'self' - Hiermit wird angegeben, dass die Schriftfamilie innerhalb desselben Ursprungs oder Systems geladen werden soll. font-src: 'self' data: - Dies teilt die Lade-Schriftfamilie innerhalb desselben Ursprungs und die Aufrufe zum Abrufen von Daten mit:
Möglicherweise wird auch die Warnung "** Heruntergeladene Schriftart konnte nicht dekodiert werden, OTS-Analysefehler: ungültiges Versions-Tag **" angezeigt. Fügen Sie den folgenden Eintrag in CSP hinzu.
font-src: 'self' Schriftart
Dies sollte jetzt fehlerfrei geladen werden.
quelle
Sie hätten an vielen Stellen Inline-Stile verwendet, was CSP (Content Security Policy) verbietet, da dies gefährlich sein könnte.
Versuchen Sie einfach, diese Inline-Stile zu entfernen, und fügen Sie sie in ein spezielles Stylesheet ein.
quelle
Ich hatte das gleiche Problem, das durch die Verwendung
./
vor dem Verzeichnisnamen in meinernode.js
App behoben wurde , dhapp.use(express.static('./public'));
quelle
Für mich lag es an der ipfs-Erweiterung im mutigen Browser
quelle
Die Einstellung der Browser-Erweiterung uBlock "Remote-Schriftarten blockieren" verursacht diesen Fehler. (Hinweis: Grammatik war zumindest für mich nicht das Problem.)
Normalerweise ist das kein Problem. Wenn eine Remote-Schriftart blockiert ist, greifen Sie auf eine andere Schriftart zurück und es wird eine Konsolenwarnung mit der Meldung "ERR_BLOCKED_BY_CLIENT" ausgegeben. Dies kann jedoch ein ernstes Problem sein, wenn eine Site Font Awesome verwendet, da die Symbole als Kästchen angezeigt werden.
Es gibt nicht viel, was eine Website tun kann, um dies zu beheben (aber Sie können verhindern, dass es zu schlecht wird, indem Sie beispielsweise schriftbasierte Symbole kennzeichnen). Durch Ändern des CSP (oder Hinzufügen eines) wird das Problem nicht behoben. Durch das Bereitstellen der Schriftarten von Ihrer Website (und nicht von einem CDN) wird dies ebenfalls nicht behoben.
Der uBlock-Benutzer kann dies jedoch beheben, indem er einen der folgenden Schritte ausführt:
quelle
Wenn Ihr Projekt vue-cli ist und Sie es ausführen
npm run build
, sollten Sie es ändernassetsPublicPath: '/'
zuassetsPublicPath'./'
quelle
Ich hatte das gleiche Problem und es stellte sich heraus, dass im Verzeichnis der Datei, die ich bedienen wollte, ein Fehler aufgetreten ist, anstatt:
Ich hatte :
quelle
Ich hatte heute auch das gleiche Problem in meinem laufenden Code. Nun, ich habe hier viele Antworten gefunden. Das Wichtigste, was ich erwähnen möchte, ist, dass diese Fehlermeldung ziemlich mehrdeutig ist und nicht explizit auf den genauen Fehler hinweist.
Einige waren aufgrund von Browsererweiterungen, andere aufgrund falscher URL-Muster und aufgrund eines Fehlers in meiner formGroup-Instanz, der in einem Popup auf diesem Bildschirm verwendet wurde, damit konfrontiert. Daher würde ich jedem empfehlen, vor dem Vornehmen neuer Änderungen an Ihrem Code Ihren Code zu debuggen und sicherzustellen, dass Sie keine derartigen Fehler haben. Den eigentlichen Grund finden Sie sicherlich beim Debuggen.
Wenn nichts anderes funktioniert, überprüfen Sie Ihre URL, da dies der häufigste Grund für dieses Problem ist.
quelle
In meinem Laravel & VueJS-Projekt habe ich diesen Fehler mit der Datei webpack.mix.js behoben. Es beinhaltet
quelle
Hier ist ein Teil des Codes, mit dem ich meine Datei server.js in den Winkel dist- Ordner leite , der nach dem Erstellen von npm erstellt wurde
Ich habe es behoben, indem ich zu gewechselt
"/dist/"
habe"./dist/"
quelle
In meinem Fall habe ich die Datei src / registerServiceWorker aus der von create-react-app generierten App gelöscht . Ich habe es hinzugefügt und jetzt funktioniert alles.
quelle