Sannsynligvis ikke ennå. Ikke fordi du gjorde noe feil, men fordi verktøyene er gode til å bygge og dårlige til å passe på — de skriver kode som virker, og hopper over det som bare merkes når noen leter.
Da et sikkerhetsselskap skannet 1 072 apper som lå ute i produksjon, hadde over 300 av dem databasenøkkelen liggende åpent i nettleseren, og 172 lot hvem som helst slette data uten å logge inn.
Dette er ikke øvingsprosjekter. Det er apper med ekte brukere. Poenget er ikke at du bør slutte å bygge — det er at det siste steget mangler, og at det er det samme steget hver gang.
Ligger nøkler i det nettleseren laster ned? Åpne utviklerverktøyet i nettleseren og søk etter ordet «key». Finner du noe der, kan alle andre også det.
Sjekker serveren hvem som spør? Prøv å hente data uten å være logget inn. Får du svar, beskytter appen skjermbildet og ikke opplysningene.
Har du hentet tilbake en sikkerhetskopi? Ikke tatt en — hentet en tilbake, og sett at innholdet er der.
Ser noen på hver ny versjon? Hver endring er en ny sjanse til å publisere en nøkkel ved et uhell, og den endringen ser akkurat ut som alle de andre.
Godt nok betyr ikke feilfritt. Det betyr at nøkler ligger utenfor koden, at serveren sjekker hvem som spør hver gang, at det finnes en kopi noen har hentet tilbake, og at noe ser etter kjente feil før hver ny versjon går ut.
Fire ting. De er ikke vanskelige hver for seg — de er bare ikke noe et byggeverktøy gjør for deg.
Nøkler lagres kryptert og settes inn når appen starter, så de aldri havner i koden. Innlogging med roller kjøres for deg, og sjekken skjer på serveren hver gang. Sikkerhetskopier tas automatisk, lagres kryptert og hentes tilbake for å bekrefte at de virker.
Hver gang en ny versjon legges ut, skannes den for nøkler som ved et uhell er kommet med, og utlegget stanses hvis den finner noe.
Nei. Det betyr at de bygger, men ikke drifter. Koden kan være helt grei — det som mangler er innlogging som sjekkes på serveren, nøkler utenfor koden og kopier noen har testet.
De fire sjekkene over kan du gjøre på en ettermiddag. Å holde dem på plass ved hver eneste endring er den delen som er vanskelig å gjøre manuelt over tid.
Da er rekkefølgen: nøkler først, så innlogging, så en sikkerhetskopi du har hentet tilbake. Nøkler først fordi en nøkkel som ligger ute allerede kan være kopiert.