0Pricing
Electron Desktop App Development · Lezione

Protezione dai rischi dei contenuti remoti

Proteggete la vostra app Electron dalle minacce introdotte da contenuti web remoti o non attendibili usando webSecurity, CSP e i controlli di navigazione, basandovi su isolamento e sandboxing.

Protezione dai rischi dei contenuti remoti è una lezione Electron Desktop App Development gratuita su CoddyKit. Questa è la lezione 4 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Electron Desktop App Development, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Electron Desktop App Development include 4 lezioni in totale.

Parti di questa lezione non sono ancora state tradotte e vengono mostrate in inglese.

The Danger of Remote Content

Loading remote URLs or untrusted HTML can expose your app to cross-site scripting and code execution. Hardening is essential.

Prefer Local Content

The safest app loads only local files you control. Treat any remote content as hostile until proven otherwise.

Keep webSecurity On

Never disable webSecurity. It enforces the same-origin policy inside your renderer.

new BrowserWindow({
  webPreferences: {
    webSecurity: true
  }
});

Content Security Policy

A CSP restricts what scripts and resources can load, blocking injected code.

<meta http-equiv="Content-Security-Policy" content="default-src 'self'">

Validating a CSP

A strict CSP avoids unsafe-inline and unsafe-eval. You can lint your policy programmatically.

function isStrict(csp) {
  return !csp.includes('unsafe-inline') && !csp.includes('unsafe-eval');
}
console.log(isStrict("default-src 'self'"));

Controlling Navigation

Block unexpected navigation with the will-navigate event, allowing only your trusted origins.

function allowed(url) {
  return url.startsWith('https://myapp.example.com');
}
console.log(allowed('https://evil.com'));

Blocking New Windows

Intercept setWindowOpenHandler to deny or vet any attempt to open new windows from content.

contents.setWindowOpenHandler(({ url }) => {
  return { action: allowed(url) ? 'allow' : 'deny' };
});

Opening Links Safely

Send external links to the OS browser with shell.openExternal instead of loading them inside your app.

Disable Unused Permissions

Use a setPermissionRequestHandler to deny camera, geolocation, and other requests your app does not need.

session.setPermissionRequestHandler((wc, perm, cb) => {
  cb(perm === 'notifications');
});

Avoid Disabling Protections

Flags like allowRunningInsecureContent and nodeIntegration: true on remote content are dangerous. Keep defaults.

Audit Regularly

Run Electron's security checklist and keep Electron updated to inherit Chromium's latest patches.

Quick Check

Test your remote-content hardening knowledge.

Recap

You learned to harden against remote content: prefer local files, keep webSecurity on, enforce a strict CSP, control navigation and window opening, deny unneeded permissions, and audit regularly.

Domande Frequenti

La lezione «Protezione dai rischi dei contenuti remoti» è gratuita?

Sì — il testo completo di «Protezione dai rischi dei contenuti remoti» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Electron Desktop App Development, passa a CoddyKit PRO. Il corso Electron Desktop App Development include 4 lezioni in totale.

Cosa imparerò in «Protezione dai rischi dei contenuti remoti»?

Proteggete la vostra app Electron dalle minacce introdotte da contenuti web remoti o non attendibili usando webSecurity, CSP e i controlli di navigazione, basandovi su isolamento e sandboxing. Eserciti Electron Desktop App Development con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.

Ho bisogno di esperienza per iniziare Electron Desktop App Development?

Non è richiesta alcuna esperienza precedente. Electron Desktop App Development su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 4 di 4.

Quanto tempo richiede la lezione «Protezione dai rischi dei contenuti remoti»?

La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.

Posso scrivere ed eseguire codice in questa lezione Electron Desktop App Development?

Sì. Ogni lezione Electron Desktop App Development include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.

Tutte le lezioni di questo corso

  1. Pattern IPC sicuri
  2. Isolamento del contesto e script preload
  3. Sandbox del processo renderer
  4. Protezione dai rischi dei contenuti remoti
← Torna a Electron Desktop App Development