PHP kullanarak bir oylama sistemi kaçırma insanları durdurma?

4 Cevap

Ben php komut dosyası hack ederek onları daha yüksek bir puan vermek için oy döküm insanları durdurmak için kullanabileceğiniz bazı kod örnekleri nelerdir?

4 Cevap

Savunma ilk satırı bir çerez.

Temel olarak, onların makinede cookie kurmak ve varsa oylama devre dışı bırakın.

setcookie('cookiename', 'voted=1');

// and later

if(isset($_COOKIE['cookiename']) && $_COOKIE['cookiename'] = "voted=1")
{
     // error
}

Bu onların oylama doğrulamak için yapmanız gerekebilir bir veritabanı arama kurtulur. Bu önbelleğe alma gibi çünkü, bir yerde bu tutmak iyi bir fikirdir: fewers iyi veritabanına vurur.

Savunma ikinci satırı sınırlayıcı IP. Siz temelde veritabanı bir IP adresi günlüğü kontrol ve onlar son zamanlarda olarak görmek istiyorum.

mysql_query('INSERT INTO TABLE (`IP_ADDR`, `TIME`) VALUES("'.$_SERVER['REMOTE_ADDR'].'", "'.time().'")');

// and later

$results = mysql_query('SELECT IP_ADDR FROM TABLE WHERE IP_ADDR="'.$_SERVER['REMOTE_ADDR'].'"');

if(mysql_num_rows($results) != 0)
{
    // error
}

Çizgisinde bir şey içine tüm komut Torna

if(isset($_COOKIE['cookiename']) && $_COOKIE['cookiename'] = "voted=1")
{
     die("You have voted recently.");
}

$results = mysql_query('SELECT IP_ADDR FROM TABLE WHERE IP_ADDR="'.$_SERVER['REMOTE_ADDR'].'"');

if(mysql_num_rows($results) != 0)
{
    die("You have voted recently");
}

//Do Voting Stuff Here
vote($_GET['vote']);

// Record the vote.
setcookie('cookiename', 'voted=1');
mysql_query('INSERT INTO TABLE (`IP_ADDR`, `TIME`) VALUES("'.$_SERVER['REMOTE_ADDR'].'", "'.time().'")');

Ayrıca son zamanlarda ve bu eklemek gerekecek, ancak bunun temel jist var.

  1. Zaten kullanıcıların oy için çerezleri ayarlayın ve bir süre için oy vermemek.

  2. Kurabiye korunması yanında ip adresi koruması ekleyebilirsiniz. Tek ip adresi belli bir süre sadece bir kez oy kullanabilirsiniz. Ip koruma için iyi bir alternatif kombine düzeni (ip + user_agent + ...) tarafından korunmasıdır.

  3. Onlar çok hızlı eylemler yapıyoruz captcha'yı girmelerini isteyin.

Fikirlerin bir çift:

  1. Bir CAPTCHA kullanmak
  2. (Elbette gizlilik politikasına uygun olarak,) rekor IP adresi

Bunu yaparken onları önlemek için tek yolu iyi bir kullanıcı kimlik doğrulama sistemine sahip olmaktır. Bu Kısıtlama, çerezlerin kullanımı ile onu vazgeçirmek olabilir ve Captcha.