2014-02-21 77 views
0

我正在使用多種形式的網站。大部分表單將通過jQuery AJAX提交。將javascript變量傳遞給ajax

爲了安全起見,我實施了recaptcha,但客戶不喜歡它,因爲這些詞有時難以閱讀。

作爲一種替代方法,我正在尋找不那麼重要的形式的honeytrap方法。據我瞭解在這種方法中,我保持隱藏在正常用戶通過CSS隱藏的字段。所以合法用戶會在機器人填充它時將該字段留空。

現在我的問題是,因爲我使用jQuery AJAX進行表單提交,而不是隱藏字段,如果表單不能,我只是將一個額外的變量(以及表單字段變量)從javascript傳遞給AJAX。 (比如var secretword = 1),AJAX會檢查這個變量(如果secretword == 1),如果它是空的(bot不會使用javascript來形式化,所以var將是空的),那麼表單將不會被提交。對於合法用戶javascript函數將爲變量添加「1」值。我的方法與honeytrap一樣安全嗎?

注意:網站不工作沒有JavaScript,所以不需要進入如果javascript被禁用會發生什麼。

請給我你的寶貴意見。

回答

1

你真的在想這個。

如果你只通過AJAX做合法的提交,使窗體的action屬性,你已經有效地實現你的建議的解決方案做了什麼:有人直接提交無JS的形式將其提交忽略。

這顯然不會阻止任何人弄清楚您提交的AJAX提交內容,並且只是直接發送垃圾郵件,但您提出的解決方案或傳統隱藏字段都不會。