JavaScript-logge
Silktide registrerer de meddelelser, som dine sider skriver til browserkonsollen under indlæsning. Det er som regel debugging-output, som udviklere har efterladt, og det er værd at gennemgå for at sikre, at de ikke afslører oplysninger, du hellere vil holde private.
Hvorfor det er vigtigt
Konsolmeddelelser er synlige for alle, der åbner browserens udviklerværktøjer. Debugging-output, der er efterladt i produktion, kan lække ting, du aldrig havde til hensigt at offentliggøre: interne URL'er og filstier, konfigurationsværdier, brugerdata eller kommentarer om, hvordan dine systemer fungerer. Det er også støj, der gør reelle fejl sværere at få øje på, når en udvikler diagnosticerer et problem.
Logmeddelelser ødelægger ikke noget i sig selv – dette tjek handler om god praksis og om, hvad dit website afslører, ikke om funktionalitet.
Sådan løser du det
Disse fund skal gennemgås af en udvikler:
- Læs hver registreret meddelelse, og vurder, om den afslører noget følsomt eller peger på en underliggende fejl.
- Fjern debugging-output fra din egen kode før publicering – udsagn
som
console.log(...)hører sjældent hjemme i produktion. Mange buildværktøjer kan fjerne dem automatisk. - Meddelelser fra tredjepartsscripts er som regel harmløse og uden for din kontrol. fund, der er i orden, så de ikke bliver rapporteret igen.
Sådan tester Silktide dette
- Indlæs hver side i en rigtig browser, og kør scripts på samme måde, som en besøgendes browser ville gøre.
- Registrer hver almindelig konsolmeddelelse, som siden skriver under indlæsning – log-, informations-, debug- og trace-output – uanset om det kommer fra din kode eller tredjepartsscripts. Fejl og advarsler dækkes af det separate JavaScript-fejl-tjek.
- Rapportér hver meddelelse med et stackspor, der viser, hvor den stammer fra.
Fejlfinding
De fleste meddelelser kommer fra tredjepartsscripts
Det er almindeligt – mange populære scripts annoncerer sig selv i konsollen. Du kan ikke fjerne deres meddelelser uden at fjerne scriptet, så gennemgå dem én gang og godkend dem.
En meddelelse vises kun nogle gange
Scripts kan logge betinget, for eksempel kun når en forespørgsel er langsom, eller et funktionsflag er sat. Det registrerede stackspor viser, hvad der producerede meddelelsen under Silktides besøg.