我需要你的意見對這個代碼用於實現反垃圾郵件解決方案:PHP - 驗證碼更換
- 當產生頁/形式,一個隨機字符串被創建,例如。像
$string = md5($_SERVER['REMOTE_ADDR'])
- 此字符串插入到數據庫中,並設置爲過期後,假設2小時,我們不填寫數據庫
- 在網頁加載時,窗體有一個隱藏的輸入字段沒有價值,讓我們的名字它
spam_check
- 頁面已加載AJAX請求後10,15或20秒自動啓動,試圖檢索
$string
從db &填寫spam_check
輸入值與它。 - 提交表單的時候,我們執行
$string
從DB和$_POST['spam_check']
之間進行簡單的檢查,如果它們不匹配的郵件是垃圾郵件...
這是一個好主意?它有多安全? 明顯的優勢是,它不需要訪客的任何操作,如閱讀驗證碼等。
即使它是垃圾郵件,我也很困惑,因爲垃圾郵件工具獲取html代碼並根據該代碼發佈帖子,所以該值將是正確的。我弄錯你了嗎? – Pabuc 2010-12-17 12:08:10
好的想法是,垃圾郵件機器人不會做JavaScript,如果它提交表單,則不會等待10秒鐘: – Alex 2010-12-17 12:09:13
如果用戶輸入的速度非常快,但會出現問題 – robjmills 2010-12-17 12:36:29