我有一个JavaScript点击事件绑定到一个锚点链接,通过Ajax点击提交用户数据。这个链接实际上没有去任何地方,它只是一个Ajax帖子。
问题是用户可以编写脚本以快速提交垃圾邮件。有没有办法禁止JavaScript触发click事件。
我可以对它进行防洪控制,在不破坏聊天室功能的情况下,我无法使用太过于令人震惊的控件。
由于
答案 0 :(得分:2)
问题是用户可以写 快速垃圾邮件提交的脚本
AFAIK,您将无法区分javascript点击和用户点击。
最好的办法是验证提交的数据。
答案 1 :(得分:0)
如果您真的想要进行一些验证来停止自动提交,您可以添加所有网站所做的图像检查。
用户必须输入他看到的图像以继续进行,我不知道该图像的技术名称。
它可以停止用户自动化作业
答案 2 :(得分:0)
如果您的目的是阻止用户做有害的事情,那么在客户端进行检查是一个非常糟糕的主意。总有办法解决它。唯一可靠的方法是检查服务器。
每个用户只能拥有两个变量:垃圾邮件分数和最后一个帖子的时间戳。每当用户发布新消息时,计算自上次消息以来经过了多少时间并且每秒降低得分,但是对于发送的每个消息,将其增加固定值。一旦达到阈值,拒绝新消息,直到它再次减少。
答案 3 :(得分:0)
您可以检查event.which属性,该属性应包含按下的键的键(对于鼠标,通常为1,2或3)代码。如果该属性不存在,则可能是JavaScript点击事件而不是用户鼠标单击。
if (event.which != null) {
// likely was user click
}