Un collegamento per annullare l'iscrizione nel corpo del messaggio, a List-Unsubscribe l'intestazione e il meccanismo con un clic sono caratteristiche correlate ma diverse. Una diagnostica dovrebbe identificare quale meccanismo il mittente ha effettivamente emesso e se sono presenti le intestazioni firmate richieste. Il semplice fatto di vedere la parola "annulla iscrizione" nella fonte non stabilisce un'implementazione funzionante con un clic.
Leggi i due campi insieme
RFC 2369 definisce List-Unsubscribe come un campo di comando di lista contenente URL per abbandonare una lista. Può descrivere metodi come mailto o HTTPS. RFC 8058 aggiunge List-Unsubscribe-Post per il meccanismo con un clic. Quest'ultimo utilizza il valore List-Unsubscribe =One-Click, con un URI HTTPS in List-Unsubscribe . Un'opzione mailto da sola non è il meccanismo HTTPS RFC 8058 . RFC 2369 sezione 3.2, RFC 8058 sezione 3.
Il ricevitore con un clic invia un POST HTTPS con il valore di annullamento dell'iscrizione specificato. Una routine GET per controllare un URL non deve eseguire essa stessa l'azione di annullamento dell'iscrizione RFC 8058 . Questa distinzione è importante perché gli scanner dei collegamenti possono recuperare gli URL senza che una persona intenda lasciare un elenco. Non trasformare l'ispezione diagnostica in una modifica non autorizzata dell'abbonamento.
Controlla i requisiti di firma
RFC 8058 richiede un file valido Firma DKIM che copre sia List-Unsubscribe che List-Unsubscribe-Post . Trovare i due nomi di campo nell'elenco h= di una firma è un utile controllo strutturale, ma non dimostra che la firma sia verificata.
Conserva il messaggio originale firmato per una verifica effettiva. Firme multiple e campi di intestazione ripetuti richiedono un'attenta selezione; una ricerca ingenua di sottostringhe può confondere una firma non correlata con quella che soddisfa il requisito. Mantieni la copertura della firma, la convalida crittografica e il comportamento dell'endpoint come controlli separati.
Usa un esempio controllato
Considera un ipotetico messaggio con i due valori di intestazione corretti. La sua unica firma valida copre Da e Oggetto ma non i campi di annullamento dell'iscrizione. Una seconda firma elenca entrambi i campi ma non supera la verifica. Questo messaggio ha sia a DKIM pass e copertura apparente da qualche parte nella sua fonte, ma nessuna delle due firme soddisfa i requisiti combinati RFC 8058 .
Il passo successivo è identificare o creare, attraverso una modifica del mittente approvata, una firma che verifichi e copra i due campi. Nessuna firma è stata verificata o l'abbonamento è stato modificato per questo esempio didattico. Anche una firma di copertura verificata successivamente lascerebbe non testati il comportamento dell'endpoint HTTPS e la soppressione dell'invio successivo.
Per un test end-to-end autorizzato, utilizza un abbonamento di test dedicato e l'ambiente di test supportato dal mittente. Verifica una firma valida, invia il POST previsto e conferma lo stato dell'abbonamento di prova attraverso le prove proprie del servizio. RFC 8058 vieta i reindirizzamenti HTTPS ed esclude cookie, autorizzazione HTTP e altri contesti di richiesta dal POST. Il destinatario deve ottenere il consenso dell'utente prima di pubblicare. Registrare qualsiasi requisito di reindirizzamento o accesso come difetto invece di fare clic; l'endpoint deve completare l'annullamento dell'iscrizione senza ulteriori interazioni.
Proteggi gli identificatori degli abbonati
Gli URL di annullamento dell'iscrizione spesso contengono un token specifico del destinatario. Considera l'URL completo come potenzialmente in grado di modificare l'abbonamento di quella persona. Redigere o sostituire il token in una copia diagnostica generale, conservare il messaggio intatto in privato e non incollare l'URL attivo in ticket pubblici o recuperatori automatici.
Concludi con un elenco di controllo esplicito: campi presenti, sintassi corretta, firma di copertura verificata e test dell'endpoint autorizzato completato o non eseguito. L'idoneità del mittente in blocco del fornitore e la visualizzazione dell'interfaccia di annullamento dell'iscrizione sono domande sul prodotto separate. Un controllo dell'intestazione a livello di standard non garantisce che qualsiasi provider di cassette postali visualizzi un pulsante particolare.
Segnala ogni livello in modo indipendente
Se le intestazioni sono presenti ma la convalida della firma non è disponibile, segnalare solo un risultato strutturale. Se la verifica ha esito positivo ma non si è verificato alcun test endpoint autorizzato, lasciare il comportamento non testato. Registrare l'esatto campione finale e le prove necessarie per lo strato successivo.