Magic-link-virhe voi tapahtua, kun postin toimitus on onnistunut. Viesti saattaa saapua vanhenemisen jälkeen, sovellus saattaa mitätöidä aikaisemman linkin tai uudelleenohjaus saattaa päätyä väärään ympäristöön. Tutki näitä erillisinä hypoteeseina sen sijaan, että käsittelisi jokaista epäonnistunutta sisäänkirjautumista todennustietueen ongelmana.
Jäljitä kaksi matkaa
Postin matka kulkee pyynnöstä luomiseen, jonotukseen ja vastaanotto-palvelimen hyväksymiseen. Sovellusmatka alkaa tunnuksen luomisesta linkkipyyntöön, validointiin ja istunnon perustamiseen. Liity heihin käyttämällä ei-salaista korrelaatiotunnistetta. Älä kirjaa täydellisiä siirtotielinkkejä tai liitä live-linkkiä ulkoiseen skanneriin.
SMTP hyväksyntätapahtuma on todiste siirtovastuusta, ei päättynyt käyttäjäistunto. Pidä tukitarrat täsmällisinä. RFC 5321. Tallenna puuttuva näkyvyys nimenomaisesti, kun palveluntarjoaja paljastaa vain lähetyksen ja lopullisen tilan.
OWASP-kirjausopastus tukee korrelaatiota paljastamatta pääsysalaisuuksia.
Vahvista linkin suunnittelu erikseen
OWASP:n salasanan palautusohjeiden turvallisuusperiaatteet sisältävät kertakäyttöiset vanhenevat tunnukset, luotettavat HTTPS-kohteet ja suojauksen tunnuksen vuotamista vastaan. Nämä periaatteet koskevat arkaluontoisten sähköpostilinkkien tarkistamista, mutta lähde koskee salasanattoman kirjautumisen täydellistä määrittelyä. Magic-link-tuote tarvitsee oman uhkamallinsa ja istuntohallintansa. OWASP-nollaustunnuksen opastus.
Tarkista aiottu isäntä, ympäristö, polku ja uudelleenohjaus käyttämällä kertakäyttöisiä testitunnuksia hyväksytyssä testiympäristössä. Tarkista, mitätöikö uudempi pyyntö aiemmat linkit ja mitätöikö onnistunut käyttö tunnuksen. Kirjaa ylös todellinen käytäntö sen sijaan, että olettaisit kaikkien tuotteiden käyttäytyvän samalla tavalla.
Vertaa vanhenemishäiriötä ja kulutushäiriötä
Harkitse kahta hypoteettista merkkiä, jotka on luotu klo 09.00 UTC ja jotka päättyvät klo 09.10. Tapaus A saavuttaa vastaanottimen hyväksynnän klo 09:11, jo minuutti vanhenemisen jälkeen. Tapaus B saavuttaa tämän vaiheen klo 09.01, onnistunut hakemuksen lunastus kirjataan klo 09.02 ja saa toisen yrityksen klo 09.03. Kertakäyttökäytännössä B:n toisen yrityksen pitäisi epäonnistua kuten jo käytetty, vaikka seitsemän minuuttia on jäljellä.
Nämä ovat keksittyjä tapahtumaoletuksia, eivät tila-koneen suorituksia tai varmennettuja tapauksia. Tapaus A ehdottaa ajoitustutkimusta; tapaus B vaatii todisteita aikaisemmasta hakemuksen siirtymisestä. Lyhyempi postin viive ei tekisi B:stä uudelleen käytettävää. Älä määritä varhaista toimintoa turvaskanneriin tai henkilölle pelkästään käyttäjäagenttimerkkijonosta. Korreloi valtuutetut muokatut pyyntötietueet, tilan muutokset ja istuntotapahtumat ennen kuin määrität toimijan.
Korjaa tekemättä linkkejä uudelleenkäytettäviksi
Jos haluat todellisen viiveen, ota huomioon hidas vaihe ja tarkista jäljellä oleva kelpoisuusbudjetti. Jos kyseessä on ennenaikainen kulutus, tarkista, pystyykö sovellus erottamaan vaarattoman laskeutumispyynnön nimenomaisesta, turvallisesti vahvistetusta toiminnosta, joka muodostaa istunnon. Se on suunnittelukatsaus, ei yleinen korjaustiedosto; Säilytä toiston esto, vanheneminen ja muut tarvittavat säätimet.
Poista tarpeeton markkinointiseuranta arkaluonteisista tililinkeistä hyväksytyn mallin määritysten avulla ja vahvista lopullinen viesti. Kaikki uudelleenohjaukset tai mobiilin täsmälinkkien toiminta vaativat vielä testauksen. Älä koskaan ratkaise ajoittaista vikaa hyväksymällä vanhentuneita tokeneita määräämättömäksi ajaksi.
Testaa ohjatut matkat uudelleen saapumisen viivästymisen, toistuvien pyyntöjen, toiston ja väärän ympäristön reitityksen varalta. Sulje tarkka vikaluokka ja jäljellä olevat aukot. Selkeä luokittelu estää postioperaattoreita ja sovellussuunnittelijoita muuttamasta toistuvasti väärää järjestelmää.
Vaadi erillinen suljin jokaiselle vikaluokalle
Nopeampi saapuminen voi sulkea vanhenemisviivetapauksen vasta sen jälkeen, kun valvottu matka on vahvistanut voimassaolobudjetin. Se ei voi sulkea aikaisempaa kulutusta tai väärän ympäristön tapausta. Tallenna luokka, tuki hakemuksen siirtymiseen ja puuttuvat todisteet ennen syyn osoittamista.