2012-11-10 45 views
1

我正在運行在線詞典,爲用戶提供搜索單詞翻譯的機會。現在,我意識到,有很多搜索請求似乎不被人類輸入。我不想添加某種驗證碼,因爲這會排斥人們使用我的網站。所以現在我想知道是否有一種方法可以在不使用驗證碼的情況下襬脫這些「垃圾郵件」搜索。我知道無法完全過濾請求,但我想降低垃圾郵件請求的數量。如何確保只有訪客才能使用我的搜索欄?

+0

這是這裏大概有100個問題的重複(例如,查看右邊的'Related'列表)。我投票決定將此視爲「不具有建設性」,因爲任何針對您非常模糊和開放式問題發佈的信息都只是所有其他答案的重複。請先做一些研究(從這裏的其他帖子開始,但同時使用Google和Bing搜索),然後再返回這裏,提供**特定的**問題。 –

+0

好,然後關閉它。 – phpheini

回答

1

您可以嘗試使用用戶代理列表/解析器並阻止每個進入該站點的機器人......但如果他們不想被檢測到,這並不是一種傻瓜證明。

您可以在意識到這些IP不是人爲之後手動阻止IP ...但這需要大量的工作和關注網站和日誌文件。

您可以將搜索限制爲每天幾十個或在搜索之間添加強制時間......但這可能會影響真實用戶。

您可以在第一次訪問網站並將其存儲在cookie中時要求驗證碼,然後在所有後續搜索中檢查該cookie。

您可以使用Javascript創建表單並在頁面加載完成後輸入,而這些頁面加載後很可能不會顯示給大多數只在加載後纔讀取頁面的機器人。

您可以對可能搜索的內容(最少4個字符等)進行一些限制,這可能會減少搜索。

0

一個簡單的替代基於圖像的CAPTCHA是提出一個問題,無論是數學(1 + 5)或簡單的英語(什麼顏色是黑車?)

我會做什麼創建數據庫表問題和問題的答案。越多越好。

然後,當您隨機加載搜索頁時,選擇其中一個問題顯示給用戶。

有一點需要注意的是,有人可能會多次刷新您的網站以瞭解所有可能的問題。然後他們可以爲你的答案創建一個類似的數據庫表,並將機器人指向查找答案。

這就是說,我認爲它仍然是一個可行的替代方案,具有一點創意。

相關問題