想知道做什麼是最有效的方式來做到以下幾點。PHP計數用戶點擊
遊戲玩法。玩家可以訓練,每8分鐘一次驗證碼驗證,以阻止他們使用機器人/腳本進行自動訓練。
但是,這仍然是一個漫長的時間量。因此,考慮每100次點擊使驗證成爲可能。
現在,我可以簡單地在數據庫中完成此操作,並記錄用戶點擊次數,然後在達到限制時重置驗證碼。但這似乎過度使用資源。
會有另一種方式來做到這一點嗎?
想知道做什麼是最有效的方式來做到以下幾點。PHP計數用戶點擊
遊戲玩法。玩家可以訓練,每8分鐘一次驗證碼驗證,以阻止他們使用機器人/腳本進行自動訓練。
但是,這仍然是一個漫長的時間量。因此,考慮每100次點擊使驗證成爲可能。
現在,我可以簡單地在數據庫中完成此操作,並記錄用戶點擊次數,然後在達到限制時重置驗證碼。但這似乎過度使用資源。
會有另一種方式來做到這一點嗎?
這是不可能的使用純PHP,因爲PHP是服務器端代碼,並沒有真正的概念'點擊'一詞。如果「點擊」總是觸發服務器響應(即他們正在點擊鏈接),則需要注意這一點。如果他們沒有觸發服務器響應,那麼你將不得不使用某種形式的客戶端編碼,如JavaScript。如果他們是最可行的解決方案,則使用會話或直接在每次點擊時直接更新數據庫。在被加載的頁面的頂部,你可以簡單地使用沿線的東西...
<?php
session_start();
if ($_SESSION['clicks']++ == 100) {
// trigger captcha
$_SESSION['clicks'] == 0;
}
非常感謝,幫助。我使用該代碼,並且由於驗證碼具有會話,因此我可以取消設置會話以觸發驗證碼。 – anadin 2010-08-14 12:40:25
你是什麼意思的「點擊」?打電話給其他網頁? – 2010-08-13 10:05:34
什麼技術被用來開發遊戲?動作?的JavaScript/AJAX? PHP如何參與?你用它來存儲信息到數據庫?此外,每次點擊後,你是否更新數據庫,或者你只是計算JavaScript /點擊次數,並且只是異步更新數據庫? – 2010-08-13 11:54:38