Hizmetimin gönderdiği e-postaların altbilgisinde tek tıklamayla "Aboneliği iptal et" bağlantıları sağlamak istiyorum.
Açıkçası, birçok spam tarayıcı e-postaları tarar ve içeriklerini kötü amaçlı yazılımlara karşı taramak için e-postalarda bulunan bağlantıları izler. Şimdiye kadar kullandığım bir geçici çözüm:
- HTTP GET aracılığıyla "Aboneliği iptal et" sayfası istenirse, basit bir onay formu ve formu sayfa yüklemesinde gönderen bir miktar JS oluşturur
- HTTP POST aracılığıyla "Aboneliği iptal et" sayfası istenirse kullanıcının aboneliğini iptal ederiz
Bu şekilde, kullanıcı genellikle form üzerinde yalnızca tek bir tıklamaya ihtiyaç duyar ve "Aboneliği iptal ettiniz" iletisi alır. JS devre dışı bırakıldıysa yine de onay formunu manuel olarak gönderebilirler.
Şimdi sorun şu ki, Office365'in ATP'si gibi bazı tarayıcılar sayfaları açacak ve içindeki JS'yi çalıştıracaktır . JS çalıştırarak formu gönderir ve kullanıcının otomatik olarak aboneliğini iptal etmesine neden olurlar.
Otomatik gönderim JS mantığına çek eklemeyi düşündüm:
- belirli kullanıcı aracıları için otomatik gönderme
- belirli istemci IP aralıkları için otomatik gönderme
- fare taşıma olayında otomatik gönder'i tetikle
Ancak bunların hepsi, e-posta tarayıcılarının taktiklerini değiştirdikçe kırılması gereken kırılgan yöntemler, en iyi hack'ler gibi görünüyor.
Eminim bu problemin önümde çok az insan var. Tek tıklama işlevinden vazgeçmenin yanı sıra bilinen makul çözümler var mı?
PS. RFC 8058 için destek ekledim, ancak kullanıcılar hala altbilgideki bağlantıları tıklayacak.