将javascript变量传递给ajax

时间:2014-02-21 06:16:24

标签: javascript php jquery ajax

我正在使用多种表单的网站。大多数表单将通过jquery AJAX提交。

我已经实现了recaptcha的安全性,但客户不喜欢它,因为这些词有时难以阅读。

作为替代方案,我正在寻找不太重要的形式的蜜罐方法。据我了解在这种方法中,我通过CSS保持一个隐藏在普通用户中的字段。因此,合法用户会将该字段留空,而机器人将填充该字段。

现在我的问题是因为我使用jQuery AJAX进行表单提交,而不是隐藏字段,如果表单,我不能只是将一个额外的变量(以及表单字段变量)从javascript传递给AJAX。 (比如var secretword = 1)AJAX会检查这个变量(如果是secretword == 1),如果它是空的(机器人不会使用javascript来汇总表单,所以var将为空)那么表单将不会被提交。对于合法用户javascript函数会为变量添加“1”值。我的方法和honeytrap一样安全吗?

注意:如果没有javascript,网站无法运行,因此无需进入javascript被禁用时会发生的情况。

请就此向我提供宝贵意见。

1 个答案:

答案 0 :(得分:1)

你真的在想这个。

如果您只通过AJAX进行合法提交,请使表单的action属性错误,并且您已经有效地完成了您提出的解决方案所做的事情:任何人直接提交没有JS的表单都会他们的提交被忽略了。

这显然不会阻止任何人查明您提交AJAX的位置,只是直接向该端点发送垃圾邮件,但您提出的secretword=1解决方案或传统隐藏字段也不会。