Zabezpieczanie przed zagrożeniami zdalnych treści
Zabezpieczą Państwo aplikację Electron przed zagrożeniami wprowadzanymi przez zdalne lub niezaufane treści internetowe za pomocą webSecurity, CSP i kontroli nawigacji, wykorzystując izolację i sandboxing.
Zabezpieczanie przed zagrożeniami zdalnych treści to bezpłatna lekcja Electron Desktop App Development na CoddyKit. To lekcja 4 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej Electron Desktop App Development, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Electron Desktop App Development zawiera 4 lekcji w sumie.
Części tej lekcji nie zostały jeszcze przetłumaczone i są wyświetlane po angielsku.
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.
Ucz się JavaScript dzięki korepetycjom AI — za darmo
Pisz i uruchamiaj kod w przeglądarce, otrzymuj natychmiastową pomoc od korepetytora AI dostępnego 24/7 i kontynuuj naukę w sieci lub w aplikacji.
- Kursy
- 12
- Lekcje
- 47
Często zadawane pytania
Czy lekcja „Zabezpieczanie przed zagrożeniami zdalnych treści” jest bezpłatna?
Tak — pełny tekst „Zabezpieczanie przed zagrożeniami zdalnych treści” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu Electron Desktop App Development, przejdź na CoddyKit PRO. Kurs Electron Desktop App Development zawiera 4 lekcji w sumie.
Co nauczysz się w „Zabezpieczanie przed zagrożeniami zdalnych treści”?
Zabezpieczą Państwo aplikację Electron przed zagrożeniami wprowadzanymi przez zdalne lub niezaufane treści internetowe za pomocą webSecurity, CSP i kontroli nawigacji, wykorzystując izolację i sandbo… Ćwiczysz Electron Desktop App Development z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.
Czy potrzebuję doświadczenia, aby zacząć Electron Desktop App Development?
Nie wymagamy żadnego doświadczenia. Electron Desktop App Development w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 4 z 4.
Ile czasu zajmuje lekcja „Zabezpieczanie przed zagrożeniami zdalnych treści”?
Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.
Czy mogę pisać i uruchamiać kod w tej lekcji Electron Desktop App Development?
Tak. Każda lekcja Electron Desktop App Development zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.
Wszystkie lekcje w tym kursie
- Bezpieczne wzorce IPC
- Izolacja kontekstu i skrypty preload
- Sandboxing procesu renderera
- Zabezpieczanie przed zagrożeniami zdalnych treści