我最近创建了一个网站,该网站具有使用 jQuery 的 AJAX 功能的投票/投票功能。问题是:任何人都可以投票。我不要求访问者登录,我不跟踪他们的 IP,我什至不存储长期 cookie。通常(不要笑),当用户对某事进行投票时,我会将他们投票的项目的 ID 存储在 JavaScript 数组中。每当他们尝试投票时,脚本都会通过检查数组中的 ID 来检查他们最近是否为给定项目投票。如果他们有,它只会给他们一个警告对话框。否则,它会投票。所以不用说,用户再次投票所要做的就是刷新页面。
我决定看看如果我注入一些 JavaScript(在 URL 栏或 Web 控制台中)会发生什么,我并不感到惊讶地发现快速投票多次就像你想要的一样简单:
for (var i = 0; i < 100; i++) { vote(itemID); }
(这很好)。我不确定为什么阵列没有停止它,但这没关系;利用这一点总是很容易的,对吧?我的意思是——你甚至可以用一些 JS 编写一个小的 HTML 文档,它可以根据需要多次调用我网站上的投票页面。
所以我想在没有太多麻烦的情况下解决这个问题。是否可以在 JavaScript 中创建不可变变量?一个常数(尽管如果有一个常数只能改变一次,那真的很有帮助)?在某种程度上解决此问题的最简单方法是保持 ID 保持数组为半常数:不能删除,但可以添加。非常感谢任何建议或解决方案或解释。