Kayıt gerektirmeden bir oylama sistemi uygulayan

9 Cevap php

Ben bir hesap oluşturmak için zorlamak zorunda kalmadan, sitemde bir oylama sistemi uygulamak istiyorum. Onlar sonuçta / aşağı benzersiz bir kimliği olan içerik bir parça oy olacaktır.

  • Ben IP / ID ile bir tablo girdileri saklamak olabilir biliyorum, ama aynı IP adresinden gelen birden fazla kullanıcı var ne olur?
  • Benzersiz onların dış ip bağlı olmaksızın ziyaretçi tanımlamak için bir yolu var mı?
  • Bir GUID oluşturulur, bu makinede bir tanımlama saklamak, aynı IP ile aynı bilgisayarda daha sonra alınamadı? Farklı bir IP?

Bu sorulara, ya da daha iyi bir yaklaşımın herhangi bir fikir üzerinde herhangi bir düşünce büyük mutluluk duyacağız.

9 Cevap

Evet, bir çerez kullanımı ve gelecekte çok uzak bitiminden ayarlayabilirsiniz; Ancak, onların önbelleğini temizlemeyi ve tekrar oylama kimseyi durdurma şey yok.

Yapabileceğiniz en iyi şey, çerez kullanımı ve kayıt yapabileceğiniz en iyi şu olmadan ... birbirlerini 15 dakika içinde aynı IP'den oy izin kalmamasıdır.

Sen sadece kendi IP daha fazla dayalı kullanıcıları tanımlamak olabilir. Örneğin IP + (örneğin Tarayıcı olarak, Sürüm Numaraları, Yetenekler) tüm istek başlık bilgilerini içerir ve bu karma olabilir. Bu da daha fazla veya daha az benzersiz (ne yazık ki, olmasa% 100.) Sizin kullanıcıyı tanımlayacak

Onları OpenId, bu onları oylamak için varolan bir hesabı kullanmak için izin verecek ve onlar yeni bir hesap oluşturmak zorunda mıydı kullanarak giriş izin verebilir.

Google ve Yahoo ve diğerleri kullanıcıların kimliğini doğrulamak için izin hizmetleri var.

Eğer bir şekilde kullanıcıların kimlik doğrulaması dont, oylama sistemi bana kötüye açacak.

IP + kullanıcı aracısı çok daha benzersiz bir IP daha; bu amaçlar için yeterli olup emin. Eğer onlara bir çerez göndermek, o (onlar aynı tarayıcıyı kullanıyorsanız) bakılmaksızın IP, sürece çerez etrafında kalır olarak o bilgisayar tarafından döndürülen, ancak istedikleri zaman kullanıcı çerez kurtulmak unutmayın alacak .

Eğer oy sahtekarlığı önlemek için bu sistemi kullanarak ilgili tüm endişeleriniz varsa, ben onları bir hesabınız var yapma etrafında almak mümkün olacak değil inanmıyorum.

Bu ziyaret hiç bir ziyaretçi ve ziyaret ancak çerez sildi bir ziyaretçi ayırt etmek, bir çerez kullanarak, sizin için ilkesel olarak imkansızdır. Sonuç olarak, herhangi bir çerez-tabanlı çözüm önemsiz oy dolandırıcılık karşı savunmasız olacaktır.

J Henry Lowengard ruhu bu gerçeği kucaklayan düşünün o kurulum top 100 site on WFMU arka 1990'ların ortalarında, bir düğme temin eden, "sizin oy sayılır olmuştur" sayfa etiketli "Geri gidip biraz daha oy verin!"

Aslında, go there now ve için (ya da karşı) StackOverflow oy!

Ben şu anda aynı sorunu düşünüyorum. aşağıdaki gibi benim olası yaklaşım olacaktır:

  • (A) Eğer (bu bir blog / site bir makale okumak için bir kullanıcı için yaklaşık zaman olabilir) en az 15 dakika boyunca (oturumları kullanarak) sitenize olan bu insanlardan oy kabul edebilir. Oylarını verirken, zamanlayıcı sonraki oylama için sıfırlanır. bu nedenle bu yolu, kullanıcılar için artık çerezleri silmeyi hiçbir faydası yoktur.

  • (B) kayıtdışı insanlardan oy kabul etmek ve kendi e-posta adresini alarak ve onlara oy için bir doğrulama bağlantısını gönderme olabilir. Onların e-posta kutusuna doğrulama bağlantısını tıkladığınızda, o zaman aslında oy sayabilirsiniz. bu e-posta adresi başına oylama gibi.

  • (C) (A) ve (B) 'nin bir kombinasyonu. bu şekilde size bir sürü olmayacak, tek bir kullanıcı için sadece her 15 dakikada doğrulama link göndererek olacak emin olabilirsiniz :)

Başka bir seçenek oturumu kullanmak olacaktır. Bu IP ile birlikte session id saklamak için izin verecek. Bu, farklı oturumları ancak birden fazla IP almak için izin verecek. Bunun tek kusuru tarayıcılar mümkün anahtarlama olacaktır. Bunu bir üçlü yapmak için bir çerez ekleme sel ot yardımcı olabilir.

Ben küçük bir ölçekte çalışmak gibi sadece IP adresi ile geçmişte yapmış.

Sen Evercookie veya benzer çözümleri deneyebilirsiniz.

Ben bu eski olduğunu biliyorum, ama sadece buraya geldi ve bir fikrim yoktu ..

What about something like https://panopticlick.eff.org ? Yet another thing one could throw in ..

(If this ever goes offline: This is a cumulative fingerprint made of the usual stuff plus + Browser Plugin Details + Time Zone + Screen Size and Color Depth + System Fonts + supercookies )