E-posta aktivasyon bağlantıların daha iyi uygulamaları

3 Cevap php

Ben e-posta yoluyla gönderilen ve ben (diğer sitelerden uzun aktivasyon bağlantılar tür serin görünüyor ama ben o kadar uzun olma noktasını göremiyorum) bir uygulamaya ama sadece onunla memnun değil aktivasyon bağlantıları bir sürü görmeye oldum . Buradan benim etkinleştirme bağlantısı benziyor ne var

site/controller/method/4/MJKL

3. parça kullanıcı kimliği ve 4. bir kayıt sırasında rasgele oluşturulmuş bir simge olduğunu ...

ben sık sık bu url dizeleri ile uygulanan görmek ama url dizelerini kullanarak ve url segmentleri kullanırken fark nedir?

Ben kullanıcı kimliği ve belirteci dışında herhangi bir bilgi geçmek eğer yardımcı olacak?

3 Cevap

Onlar doğru tahmin saldırganın olasılığını azaltmak için orada uzun bir belirteç olabilir.

İhtiyacınız olandan daha fazla bilgi geçirerek rahatsız etmeyin. Diğer URL artık sırf Ve kıskanç olmayın. Boyut önemli değil, ya da onlar bana ;)

Sizinle ilgili konum uzunluğu veya URL bakmak mı?

Bir parametre dize karşıt olarak "bölümleri" gösteriyor neden Zend Framework veya benzer bir şey kullanarak tahmin ediyorum, o.

Eğer tinyurl gibi bir şey kullanarak düşündünüz mü? Tiny API with PHP süper kolaydır.

Düzenleme: html e-postaları bina ise bir başka seçenek, sadece kısa metin çapa tutuyor

<a href="http://www.site.com/controller/method/4/MJKL">Click here to activate</a>

Ben hala URL yapmak istiyorum varsayarak yaşıyorum shorter. Eğer uzun süre bunu yapmak istiyorsanız, her zaman bir oturum kimliği, rastgele bir karma ya da geç yok oluyor bunun sonunda diğer bazı görece yararsız bilgi eklemek olabilir.

Stilleri: Eğer bir MVC kurulumu kullanarak ediyorsanız, o zaman genellikle bölümlere ayrılmış (ve de daha SEO dostu) URL kullanmak daha mantıklı. Sunucu (büyük olasılıkla Apache) giriş URL parçaları alınarak ve yine komut dosyası için bir sorgu dizesi olarak geçiyor Ancak, bu, bir sorgu dizesi geçen daha farklı değildir.

Uzun kimliği gelince, buna gerek yok. Eğer bir özel, kısa bir kimlik etiketi oluşturmak, ya da etkinleştirmek için kullanıcı için daha kısa bir GUID oluşturmak için uniqid gibi bir şey () kullanabilirsiniz ya.