簡體   English   中英

限制使用Cookie對同一頁面上的多個內容進行投票

[英]Limit voting with cookie for multiple content on same page

就像reddit一樣,我在網站首頁上設置了內容,並且網站上沒有用戶注冊功能。 我不打算買一個。 我的目標是限制人們對同一內容投票最多。 我打算用數據庫和cookie上的IP進行檢查。 我的Cookie有問題...

這是我的代碼

  <?php
    $ContentID = intval( $_POST['id'] );

    $uniqueID = 'Ju?hG&F0yh9?=/6*GVfd-d8u6f86hp'.$ContentID;
    setcookie ('voter', $uniqueID,time()+3600*24, '/', DOMAIN);


    if ( $_COOKIE['voter'] == $uniqueID ) {
        echo json_encode(array('success'=>'false', 'message'=>'Just one for same post.'));  
    }else{
        echo json_encode(array('success'=>'false', 'message'=>'voted'));
    }
  ?>    

這里的問題是,它僅限制一種內容,但我可以對其他內容進行投票。 如何防止這種情況發生?

謝謝。

這段代碼實際上只會為給定的content-id設置一個名為voter的cookie。 對另一個帖子進行投票會起作用,但是舊信息將被刪除。

如果您使用的是數據庫,並且不想讓用戶注冊,則可以只存儲IP-POST_ID對並在服務器端進行檢查。 那時,除了存儲首選項或其他內容外,無需對Cookie進行任何處理。

如您所知(或可能不知道),這還意味着給定IP中只有一個用戶可以投票,這意味着即使有數百人在工作(並且可能會投票),公司網絡等也很可能被視為一個用戶。 )。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM