Et afmeldingslink i meddelelsesteksten, en List-Unsubscribe header og et-klik-mekanismen er relaterede, men forskellige funktioner. En diagnostik skal identificere, hvilken mekanisme afsenderen faktisk udsendte, og om de påkrævede signerede overskrifter er til stede. Blot at se ordet afmelde i kilden etablerer ikke en fungerende implementering med et enkelt klik.
Læs de to felter sammen
RFC 2369 definerer List-Unsubscribe som et listekommandofelt, der indeholder URL'er til at forlade en liste. Det kan beskrive metoder som mailto eller HTTPS. RFC 8058 tilføjer List-Unsubscribe-Post til et-klik-mekanismen. Sidstnævnte bruger værdien List-Unsubscribe =One-Click, med en HTTPS URI i List-Unsubscribe . En mailto-indstilling alene er ikke RFC 8058 HTTPS-mekanismen. RFC 2369 afsnit 3.2, RFC 8058 afsnit 3.
Et-klik-modtageren sender en HTTPS POST med den angivne afmeldingsværdi. En rutine GET til at inspicere en URL må ikke selv udføre RFC 8058 -afmeldingshandlingen. Denne skelnen er vigtig, fordi linkscannere kan hente URL'er, uden at en person har til hensigt at forlade en liste. Gør ikke diagnostisk inspektion til en uautoriseret abonnementsændring.
Tjek underskriftskravet
RFC 8058 kræver en gyldig DKIM signatur dækker både List-Unsubscribe og List-Unsubscribe-Post . At finde de to feltnavne i en signaturs h=-liste er et nyttigt strukturelt tjek, men det beviser ikke, at signaturen verificerer.
Bevar den originale underskrevne meddelelse til en faktisk bekræftelse. Flere signaturer og gentagne overskriftsfelter kræver omhyggelig udvælgelse; en naiv understrengsøgning kan forveksle en ikke-relateret signatur med den, der opfylder kravet. Hold signeringsdækning, kryptografisk validering og slutpunktsadfærd som separate kontroller.
Brug et kontrolleret eksempel
Overvej en hypotetisk meddelelse med de korrekte to overskriftsværdier. Dens eneste gyldige signatur dækker Fra og Emne, men ikke afmeldingsfelterne. En anden signatur viser begge felter, men bekræftes ikke. Denne besked har både en DKIM bestået og tilsyneladende dækning et sted i sin kilde, men ingen af signaturerne opfylder det kombinerede RFC 8058 krav.
Næste trin er at identificere eller oprette, gennem en godkendt afsenderændring, en signatur, der både verificerer og dækker de to felter. Ingen signatur blev bekræftet, eller abonnementet blev ændret for dette undervisningseksempel. Selv en efterfølgende verificeret dækkende signatur ville efterlade HTTPS-slutpunktsadfærd og undertrykkelse af næste afsendelse utestet.
For en autoriseret ende-til-ende-test skal du bruge et dedikeret testabonnement og afsenderens understøttede testmiljø. Bekræft en gyldig signatur, send den tilsigtede POST og bekræft testabonnementets tilstand gennem tjenestens eget bevis. RFC 8058 forbyder HTTPS-omdirigeringer og udelukker cookies, HTTP-autorisation og anden anmodningskontekst fra POST. Modtageren skal indhente brugerens samtykke, før den posteres. Registrer enhver omdirigering eller login-krav som en defekt i stedet for at klikke videre; endepunktet skal fuldføre afmeldingen uden yderligere interaktion.
Beskyt abonnent-id'er
Afmeld URL'er indeholder ofte et modtagerspecifikt token. Behandl den fulde URL som potentielt i stand til at ændre denne persons abonnement. Rediger eller erstat tokenet i en generel diagnostisk kopi, bevar den uberørte besked privat, og indsæt ikke den live-URL i offentlige billetter eller automatiske hentninge.
Luk med en eksplicit tjekliste: felter til stede, korrekt syntaks, dækkende signatur verificeret og autoriseret slutpunktstest gennemført eller ikke udført. Udbyderens berettigelse til masseafsendere og visning af afmeldingsgrænseflade er separate produktspørgsmål. Et overskriftstjek på standardniveau garanterer ikke, at nogen postkasseudbyder viser en bestemt knap.
Rapporter hvert lag uafhængigt
Hvis overskrifter er til stede, men signaturvalidering ikke er tilgængelig, skal du kun rapportere et strukturelt fund. Hvis verifikationen består, men ingen autoriseret slutpunktstest fandt sted, skal du lade adfærden være utestet. Optag den nøjagtige endelige prøve og den nødvendige dokumentation for det næste lag.