我正在運行在線詞典,爲用戶提供搜索單詞翻譯的機會。現在,我意識到,有很多搜索請求似乎不被人類輸入。我不想添加某種驗證碼,因爲這會排斥人們使用我的網站。所以現在我想知道是否有一種方法可以在不使用驗證碼的情況下襬脫這些「垃圾郵件」搜索。我知道無法完全過濾請求,但我想降低垃圾郵件請求的數量。如何確保只有訪客才能使用我的搜索欄?
1
A
回答
1
您可以嘗試使用用戶代理列表/解析器並阻止每個進入該站點的機器人......但如果他們不想被檢測到,這並不是一種傻瓜證明。
您可以在意識到這些IP不是人爲之後手動阻止IP ...但這需要大量的工作和關注網站和日誌文件。
您可以將搜索限制爲每天幾十個或在搜索之間添加強制時間......但這可能會影響真實用戶。
您可以在第一次訪問網站並將其存儲在cookie中時要求驗證碼,然後在所有後續搜索中檢查該cookie。
您可以使用Javascript創建表單並在頁面加載完成後輸入,而這些頁面加載後很可能不會顯示給大多數只在加載後纔讀取頁面的機器人。
您可以對可能搜索的內容(最少4個字符等)進行一些限制,這可能會減少搜索。
0
一個簡單的替代基於圖像的CAPTCHA是提出一個問題,無論是數學(1 + 5)或簡單的英語(什麼顏色是黑車?)
我會做什麼創建數據庫表問題和問題的答案。越多越好。
然後,當您隨機加載搜索頁時,選擇其中一個問題顯示給用戶。
有一點需要注意的是,有人可能會多次刷新您的網站以瞭解所有可能的問題。然後他們可以爲你的答案創建一個類似的數據庫表,並將機器人指向查找答案。
這就是說,我認爲它仍然是一個可行的替代方案,具有一點創意。
0
我知道的最可靠的靈魂就是使用captcha。你應該知道有許多Captchas解決方案。換句話說,Captchas對人眼來說很簡單。例如: http://www.phpclasses.org/package/3949-PHP-Generate-CAPTCHA-validation-images-with-reload-.html
相關問題
- 1. 如何確保只有登錄用戶才能訪問頁面?
- 2. 我如何使用搜索欄離子
- 3. 我想開發一個android sdk供我們的客戶使用,如何確保只有申請APP_KEY的客戶才能使用我的sdk?
- 4. 如何確保我的網站需要登錄才能被搜索引擎抓取工具等訪問?
- 5. 如何確保搜索欄粘貼到iPhone SDK的頂部?
- 6. Javascript搜索欄只搜索標題
- 7. 我怎樣才能確保只有我的phonegapp ajax帖子將由php執行
- 8. 我如何才能讓專欄只能編輯SharePoint中的一些用戶?
- 9. 我如何才能啓用最新版本在戶外搜索?
- 10. 使用搜索欄
- 11. 我怎麼能禁用自動搜索Three20搜索欄
- 12. 我怎樣才能確保 像htaccess的
- 13. 如何讓我的搜索欄工作
- 14. 我如何才能在只有我可以訪問的PHP網站上工作?
- 15. 如何讓搜索欄與搜索輸入保持一致?
- 16. 如何在谷歌自定義搜索中使用我的搜索欄?
- 17. 如何使用Firefox插件SDK訪問搜索欄?
- 18. 我怎樣才能改變搜索條
- 19. 如何才能使JSON數據只能訪問我的Java腳本?
- 20. 我如何才能找到搜索字詞的流行度?
- 21. 搜索欄正在搜索圖像源鏈接,我怎樣才能讓它搜索一個名字呢?
- 22. 我如何確保只使用我的客戶端客戶端向我的服務器發出請求?
- 23. 如何才能確保在elixir模塊
- 24. 只有TLS_RSA_WITH_AES_128_CBC_SHA才能使用TLS 1.2服務器/客戶端嗎?
- 25. 如何確保只有通過我的移動應用程序撥打的電話才能工作?
- 26. 如何使用搜索欄擴大搜索範圍
- 27. 搜索沒有搜索欄的UITableView
- 28. 我如何才能使jquery樹只有兩個級別?
- 29. 我怎樣才能確保沒有任何獲得autoreleased?
- 30. 搜索像Finder的,有可能增加搜索參數欄
這是這裏大概有100個問題的重複(例如,查看右邊的'Related'列表)。我投票決定將此視爲「不具有建設性」,因爲任何針對您非常模糊和開放式問題發佈的信息都只是所有其他答案的重複。請先做一些研究(從這裏的其他帖子開始,但同時使用Google和Bing搜索),然後再返回這裏,提供**特定的**問題。 –
好,然後關閉它。 – phpheini