6 回答

TA貢獻1815條經驗 獲得超10個贊
至少我認為目前為止還沒有一種方法能完全避免網上重復投票的
如果記錄ip,一般ADSL斷網再連ip就變了
設置cookie,瀏覽器都有禁用或者清除cookie的功能
設置session,關閉瀏覽器就沒了
所以,我們只能盡量防止重復投票現象
方法介紹幾種
session_start();
//獲取ip地址
if(!empty($_SERVER["HTTP_CLIENT_IP"])){
$cip = $_SERVER["HTTP_CLIENT_IP"];
}
if(($_COOKIE['VoteIP']==$cip) or ($_SESSION['VoteIP']==$cip)){
//拒絕投票
}
//記錄到cookie中
SetCookie("VoteIP", $cip, time()+3600*24);//3600秒=1小時 過期時間為24小時
//記錄到session中
$_SESSION['VoteIP']=$cip;
//設置session存活時間
$lifeTime = 24 * 3600;
session_set_cookie_params($lifeTime);

TA貢獻1797條經驗 獲得超6個贊
set_cookie('cookie名稱',內容,時間);
if(isset($_COOKIE['cookie名稱'])){
echo "你已經投過票,請勿重復"
}else{
echo " 感覺您的投票";
}

TA貢獻1812條經驗 獲得超5個贊
$is=isset($_COOKIE['is']);
if($is)die('你已經透過了')
else setcookie('is','1',time()+864000);

TA貢獻1824條經驗 獲得超8個贊
個人經驗
至少我認為目前為止還沒有一種方法能完全避免網上重復投票的
如果記錄ip,一般ADSL斷網再連ip就變了
設置cookie,瀏覽器都有禁用或者清除cookie的功能
設置session,關閉瀏覽器就沒了
所以,我們只能盡量防止重復投票現象
方法介紹幾種
session_start();
//獲取ip地址
if(!empty($_SERVER["HTTP_CLIENT_IP"])){
$cip = $_SERVER["HTTP_CLIENT_IP"];
}
if(($_COOKIE['VoteIP']==$cip) or ($_SESSION['VoteIP']==$cip)){
//拒絕投票
}
//記錄到cookie中
SetCookie("VoteIP", $cip, time()+3600*24);//3600秒=1小時 過期時間為24小時
//記錄到session中
$_SESSION['VoteIP']=$cip;
//設置session存活時間
$lifeTime = 24 * 3600;
session_set_cookie_params($lifeTime);
- 6 回答
- 0 關注
- 1193 瀏覽
添加回答
舉報