Bir sipariş durumu sayfasını yalnızca rastgele bir URL ile güven altına almak yeterli mi?


11

(Kurumsal) bir müşteri çevrimiçi mağazamızda bazı ürünler satın aldıktan sonra, kendisine satın aldıklarına genel bir bakış içeren bir e-posta göndeririz.

Müşterilerimize alınan ödemeler, paket takibi vb. Hakkında bilgi vermek istiyoruz. Her siparişe rastgele bir kimlik atayarak ve her postaya bir bağlantı ekleyerek bunu çözerdim. Bağlantı şöyle olabilir: http://shop.foo.bar/order/rwklvc46g9wt7kvy09f1

Verileri korumak için ek önlemler alır mısınız? Yoksa tamamen farklı bir çözüm mü seçeceksiniz?

Avantajları:

  • posta başına can sıkıcı durum güncellemesi yok (özellikle sık sık güncelleme yapılırsa)
  • tek bilgi kaynağı (asla eskimiş)
  • paylaşılabilir (örneğin patronuna veya meslektaşlarına)

Dezavantajları:

  • herkesin erişebileceği web sitesinde ifşa edilen özel veriler (örn. telefon numaraları, ödeme bilgileri)

4
Merhaba Dan, Webmasterlara hoş geldiniz. İki özdeş kullanıcı oluşturdunuz (?) Ve sorunuzu diğer "Dan" ile düzenlediniz - bu nedenle onay bekleyen bir sırada. Soruyu soran kullanıcı her zaman kendi sorularını serbestçe düzenleyebilir ve cevaplar hakkında yorum yapabilir.
MrWhite

Yanıtlar:


8

Ek güvenlik olmadan, hayır. Rastgele URL'ler her zaman taranır. Ancak bu, kullanıcının kimliğini doğrulamak için bir oturum açma sayfasıyla tamamlandığında iyidir.

Ara çözüm, durum sayfasının kişisel veri içermediğinden emin olmaktır, yalnızca genel bilgilerdir. Örneğin, 'VISA 1234567891 tarafından ÖDENEN' yerine 'CC ÖDENEN' ve 'John Doe'ye Gönderilen, 123 Mavi Sokak' vb. Yerine 'Gönderildi'.


0

Bence bu verileri daha fazla korumalısın. Sistemin sadeliğine gelince, rastgele ve benzersiz bir dizeye sahip genel URL'lerin yeterli ve kullanışlı olduğunu kabul ediyorum.

Bununla birlikte, ödeme yöntemleri (kredi kartı bilgileri dahil), e-postalar veya telefonlar görüntülenecekse, tam olarak bu verileri korumanız gerekir. Aynı zamanda dünyanın hangi bölgesinde olduğunuza da bağlıdır, ancak çoğunda bu ihtiyaç yasal konulara ve kullanıcının veri korumasına kadar uzanır.

Bu tür durumlar için alışveriş web sitelerinin çoğu, kimlik bilgileri (oturum açma / şifre) veya izleme kodlu bir takip numarası veya yalnızca kullanıcının veya kullanıcının güvendiği tarafların sahip olabileceği bir şey ister.


-1

Evet şu sürece yeter:

  1. bağlantıyı yalnızca e-postayla gönderir ve Google'a göndermezsiniz. Ancak sorunuza göre yaptığınız şey budur, bu nedenle Google'ın bunun için hiçbir zaman dizine eklenmeyecek / taranmayacağını bilmenin bir yolu yoktur.

  2. bağlantıda kullanılan kimliği rastgele ve yeterince uzun yaparsınız. Rasgele değilse, ancak kimlik olarak basit bir artımlı tamsayı kullanırsanız, müşterinizden biri, bağlantıdaki artımlı olarak basit sayılar girerek diğer tüm siparişleri okuyabildiğini kolayca fark edebilir. Rastgele, ancak yeterince uzun değilse (diyelim ki sadece 4 rakam / harfden oluşuyor), evdeki bir PC'de bile siparişlerinize saldırmak için kolay olurdu, sadece denemem gerekir (26 + 10) ^ 4 = 1.679.616 olası kombinasyon. Diyelim ki saniyede bir bağlantı trys bir komut dosyası çalıştırın, tüm olası bağlantıları kaba zorlamak ve tüm siparişlerinizi okumak için komut dosyası için 20 günden az sürer.

  3. ÖNEMLİ: daha fazla güvenlik için bağlantıyı belirli sayıda günden sonra (yani 1 ay sonra) silmeniz gerekir. Güvenli hale getirmenin hilesi budur. Bu şekilde, birileri bağlantılarınızı kaba kuvvetlendirmeye çalışsa bile, büyük kireç gücüne ihtiyaç duyacaktır, aksi takdirde saldırısı silinmeden önce tüm olası kombinasyonları deneyecek kadar hızlı olmayacaktır. Ve çok büyük bir kireç gücüne sahip olsa bile, saniyede birden fazla bağlantıyı test edebilecekti çünkü siparişlerinizi işleyen sunucu, saniyede bir kez tekrar tekrar bağlanmaya çalışırsa bağlantısını reddetmeye başlayabilir. Bilginize: bağlantıyı silmek, DB'deki tüm siparişleri silmeniz gerektiği anlamına gelmez. Siparişler tablosu için başka bir birincil anahtar (basit bir otomatik giriş int) kullanabilir ve bağlantıya girdiğiniz bağlantı_kimliği adı verilen UNIQUE alanı (NULL'a izin verir) kullanabilirsiniz. Bir ay sonra sadece link_id değerini silmeniz ve NULL olarak ayarlamanız gerekir. Bu şekilde sipariş hala tabloda olacak ve yönetici panelinizden görüntülenebilecek, ancak doğrudan bağlantı sipariş sayfasını doğrudan görüntülemek için artık geçerli olmayacak.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.