Web Sitesi.

5 Cevap php

Im bir web sitesi (html, css, javascript, ajax, php, mysql) üzerinde çalışıyor, ve ben belirli bir video için zamanlarda belirli bir kullanıcı oy sayısını sınırlamak istiyor.

Onun belirli bir videoyu voteUp veya voteDown edebilirsiniz YouTube sistemine benzer.

Her oy, zaman, oy yönü (yukarı veya aşağı) günlükleri, hangi video.votes tabloya bir satır ekleyerek içerir istemci (PHP kullanarak: $ ip = $ _SERVER ['REMOTE_ADDR'];) IPaddress, ve tabii Söz konusu video kimliği.

Oy ekleme gibi basit; (Yalancı): Javascript: ajax PHP ekleme komut dosyasına değişkenler geçer, ve nihayet bir "Oy verdiğiniz için teşekkür ederiz" mesajı ile voteing düğmelerin yerini onClick (oy (a, b, c, d)).

SORUN:

Eğer yeniden yüklerseniz / oylama sonra, tekrar tekrar oy edebilir ve sayfayı yenileyin ve tekrar, sen nokta olsun.

MY SORU:

Nasıl kez miktarını belirli bir video için, belirli bir kullanıcı oy sınırı mı?

MY DÜŞÜNCELER:

Eğer çerezleri kullanmak ve video kimliği ile yeni bir çerez eklerim. Eğer yeni bir oylama takmadan önce ve bir çerez için kontrol edin.?

VEYA

Eğer oy eklemeden önce, bu aynı kullanıcı (IP) son 24 saat (mktime) bu aynı video (vidID) oy görmek için IPaddress ve videoID kullanın, ve buna dayalı voteInsertion izin veya dissallow ya yok sorgulayabilir?

VEYA

Eğer sadece umurumda değil? Çoğu kullanıcı aklı başında olduğu varsayımını almak ve yenileme sayfaları daha yapmak ve tekrar tekrar oy daha iyi şeyler var.?

Herhangi bir öneri veya fikir bekliyoruz.

5 Cevap

Eğer çerezleri kullanmak ve video kimliği ile yeni bir çerez eklerim. Eğer yeni bir oylama takmadan önce ve bir çerez için kontrol edin.?

Çerezler kolayca devre dışı ya da çok hızlı bir şekilde silinebilir. Bir çerez bir oylama kaydetme güvenilmez ve oy hiçbir sorun ile gamed olabilir.

Eğer oy eklemeden önce, bu aynı kullanıcı (IP) son 24 saat (mktime) bu aynı video (vidID) oy görmek için IPaddress ve videoID kullanın, ve buna dayalı voteInsertion izin veya dissallow ya yok sorgulayabilir?

Birçok kullanıcı etkili aynı IP sahip, aynı router kullanıyor olabilir. Aynı ofis / ev başka bir kişi zaten bunları linki göndermeden önce video olarak çünkü bu yaparak, oylama onları durdurarak kullanıcıları rahatsız edici olabilir.

Eğer sadece umurumda değil? Çoğu kullanıcı aklı başında olduğu varsayımını almak ve yenileme sayfaları daha yapmak ve tekrar tekrar oy daha iyi şeyler var.?

Bu tamamen subjektif ve oyların önemine bağlıdır. Oylama sitenin önemli bir parçası ise, muhtemelen mümkün olduğu kadar bakım için en iyisidir. Videolar yüksek puan üzerine dizildi Örneğin, bazı kullanıcıların daha fazla görüşlerini çekmek için popülerlik izlenimi veren, sevdikleri kişisel / video popülerliğini artırmak için birçok kez oy verebilir.

Oylama önemli olduğu, sadece kayıtlı kullanıcılar oy olanak sağlamak en iyisidir. Tabii, insanlar ve (http://gallery.live.com örnek için bakınız) çoklu hesapları oy yapacak, ama onlar için çok daha zor yapıyoruz. Oylama gerçekten önemli değilse ben çerez seçeneği ile gitmek istiyorum.

Eğer gerçekten özellikle 4chan etkisi hakkında, umurumda değil, sadece bir çerez kullanabilirsiniz. Insanların bloklar her yerde ortak NAT router arkasında olduğundan, IP adresi gitmeyin.

Eğer biraz daha fazla bakım, insanları kimlik doğrulaması olurdu, ama gerçek bireysel insanları tanımlamak için dış belirteci çeşit olmadan, hala sorunlar olurdu. Bu tabii ki, sitenizin doğasına bağlıdır. Gerçek bir hesap numarası ile bir kullanıcıyı tanımlamak çünkü Örneğin, bir ev bankacılık sitesi daha güvenle oylama destek olabilir.

Ben çerez yaklaşım kullanmak istiyorsunuz. Birçok kullanıcı aynı IP adresini paylaşabilirsiniz beri IP kötü bir yaklaşım ise (çerezleri kabul olanlar için) eşsiz kullanıcıları tanımlamak için izin verir.

Site giriş kullanır, belki izin seçeneği sadece oy için oturum açmış kullanıcılar düşünebilirsiniz. Bu durumda, bir kullanıcı zaten olarak bilmek çok kolay, ama çok kısıtlayıcı.

Belki de en iyi tavsiyem sadece kayıtlı kullanıcılar oy izin olacaktır. Eğer WHERE user_id = 'x' and video_id = 'y' sorgulayabilirsiniz Bu şekilde, kayıt bulunursa, ona oy izin vermeyin.

Alas, for anonymous users, that might be tricky. A lot of IP addresses are shared on networks, so a user in the same building as another might just vote once.
The cookies option might be good, except they can be erased. You just can't trust anything on the user's side.

Sizin gerçekten birden fazla oy önlemeye çalışıyor ise:

  1. Sadece doğrulanmış kullanıcılar oy verirsin
  2. Karşı kontrol etmek için bir veritabanında mağaza oy
  3. Ayrıca ilk denetimini yapmak ve veritabanı yükü azaltmak için çerezleri oy saklayın.

Gerçekten umurumda değil, sadece çerezleri kullanır.