2015-10-24 54 views
0

我有一個簡單的投票按鈕,但由於有人可以重新加載網站後多次按,我想阻止使用最後存儲的IP地址。發生了一些事情,並沒有停止來自同一IP的多次投票。避免與IP多次投票

$ip = $_SERVER['REMOTE_ADDR']; 
$sql = "update table set votos=votos-1, lastvote='$ip' where id='$id'"; 
$voto = "SELECT lastvote FROM table where id='$id'"; 
$resultado = mysqli_query($conexion, $voto); 

if ($ip == $resultado) {} else{ 
mysqli_query($conexion, $sql); 
} 

這個想法是比較存儲新投票前的最後投票IP,但我不知道什麼是錯的。 謝謝

+0

在更新表 –

+0

之前,您沒有檢查IP是否已經投票,更新是在代碼的末尾。 –

回答

1

如果有人更改他的IP會怎麼樣?如果其他用戶在1秒後投票,該怎麼辦?其實你正在使用的概念是錯誤的。您不能通過跟蹤IP地址來阻止多個投票。用戶斷開互聯網連接後動態IP地址發生變化。用戶可以通過使用應用程序輕鬆更改IP。所以解決方案是註冊用戶,註冊後一個用戶可以投一票。希望它會有所幫助。

+0

你是對的,它不適用於動態IP,但是當我遵循你的想法時,對於一個小型站點來說就足夠了。可悲的是,代碼無法正常工作。 –

+1

@RicardoMehr你可以使用cookie來跟蹤投票。它也可以跟蹤用戶。但是,如果用戶清除cookie,您將永遠無法跟蹤。 –

+0

以cookies結束,謝謝 –