2011-03-28 103 views
0

我該如何比較一個隨機數或可能嗎?比較隨機數?

該場景是我有一個函數使用$ _GET方法,它是可見的URL。因此任何用戶都可以存儲此鏈接以便稍後使用它。這是一款PHP遊戲,因此任何人都可以非常輕鬆地欺騙遊戲。那麼最好的解決方法是什麼?我正在考慮每次用戶調用鏈接並對其進行比較時使用的隨機數字,以便用戶不能在稍後使用相同的鏈接訪問遊戲。

+2

那麼你爲什麼不問:如何防止欺詐遊戲? – Gumbo 2011-03-28 14:02:42

+0

相關:http://stackoverflow.com/questions/3968328/best-method-to-prevent-gaming-with-anonymous-voting – 2011-03-28 14:03:56

+0

你可以比較一個隨機數字,像任何其他數字... – 2011-03-28 14:04:54

回答

0

您是否有權訪問該網站的數據庫?如果是這樣,您可以記錄用戶的IP地址和隨機數,並在每次訪問頁面時執行檢查。

如果沒有,你可以存儲在$ _SESSION變量的數量和檢查,看它是否已經被使用:

session_start(); 
if(!isset($_SESSION['codes'])) $_SESSION['codes'] = array(); 

if(in_array($_GET['code'], $_SESSION['codes']) { 
    // code to execute if this code was already used by the user 
} else { 
    $_SESSION['codes'][] = $_GET['code']; 
} 
+0

我認爲這是一個好主意,但這個信息將被存儲多久?談論SESSION – homlyn 2011-03-28 14:10:58

+0

簽出session_set_cookie_params函數:http://php.net/manual/en/function.session-set-cookie-params.php。 – psparrow 2011-03-28 18:26:26