2012-02-06 166 views
0

是否有可能使用jQuery禁用表單元素的提交按鈕作爲防止垃圾郵件機器人的方式?使用jQuery代替ReCaptcha?

例如要求用戶添加2 + 2?

如果表單字段的值爲4,則啓用提交按鈕。

它會有幫助嗎?還是垃圾郵件機器人很容易能夠再見這樣的事情?

+0

你是否有在所有的外部網站的任何控制?如果不是,那麼垃圾郵件機器人通常會直接提交給服務器,因此您可以做的不多。 – 2012-02-06 20:50:58

回答

3

機會不大,垃圾郵件不會首先執行禁用提交按鈕的JavaScript。如果您無法控制表單的目的地,那麼您可以做的不多,以防止此類垃圾郵件。

+0

請隨時闡述,downvoter。 – ceejayoz 2012-02-06 21:29:15

+0

當然 - _「如果您無法控制表單的目的地,那麼您可以做的很多事情來阻止這類垃圾郵件。」_ __對我來說,這是錯誤的.__請參閱我的建議。 – paislee 2012-02-06 21:57:44

+1

垃圾郵件發送者只需要用解決方案解決一次驗證碼 - 一旦他們擁有了表單,他們可以儘可能多地發佈。就像我說的,「不多」。 – ceejayoz 2012-02-06 22:03:42

1

對於垃圾郵件,問題不在於提交按鈕是可見或可點擊的。這對垃圾郵件沒有任何影響。 重要的是inputaction的形式是公開的,使得可以以編程方式向服務器發出有效請求。真正沒有保證只使用客戶端技術防止垃圾郵件的方法。

這裏有一個建議:設置驗證碼與自己的服務器將發回的HTML表單(例如用AJAX)。表單知識在您的服務器上是安全的,直到請求者被稱爲人類(通過CAPTCHA)。

更多的想法

+0

謝謝你的建議,我一直在考慮這個問題,但不幸的是,我不太喜歡PHP和/或AJAX等等......我大部分只是前端,甚至我的大部分jQuery都是用於動畫的。我希望我可以通過一個簡單的解決方案來弄明白我的方式,但顯然我已經超出了我的深度(抨擊機器人!)。 – Stefan 2012-02-06 21:10:05

+0

沒問題。只需要清楚,上面的建議就像訪問表單服務器一樣安全。 – paislee 2012-02-06 21:55:33