【问题标题】:Looped javascript attacks from browser console?来自浏览器控制台的循环 javascript 攻击?
【发布时间】:2013-02-13 07:19:04
【问题描述】:

我正在开发一个类似于 Facemash 的评分系统。最近我决定从简单的投票链接(href=vote.php?v=leftrightidwere stored in$_SESSION)切换到AJAX。然后我意识到它非常容易受到攻击。在浏览器控制台中,作弊者可以调用一个无限循环来检查图片 url,然后,如果它匹配某个指定的 url,则投票给它,如果不匹配,则只投票给leftright。除了显然根本不实施ajax投票之外,还有什么办法可以防止这种情况发生?也许有一些命令可以打破控制台中的循环之类的?

【问题讨论】:

    标签: javascript ajax console


    【解决方案1】:

    这只是一般原则的一个具体示例:您不能信任从客户端发送到服务器的任何内容。您必须在服务器端实施检查以限制速率(或仅限制)、验证等,因为人们可以向您发送他们喜欢的任何信息(他们甚至不必使用 Web 浏览器来执行此操作)。

    在这种情况下,如果您要让人们对某事进行投票,则必须限制个人可以对特定项目投票的次数(并且可能会限制他们可以投票的频率,期限)。

    【讨论】:

    • 我同意。始终编​​写代码服务器端以确保不会发生这样的事情。永远不能只接受客户端数据作为万无一失或作弊证明。
    • 也许对 OP 如何通过一些服务器端检查来防止这种情况进行一些编辑。也许有一个 Guid 或唯一标识符客户端通过服务器端,然后标记为已投票给所述链接,这样他们就不能再次投票给它。同样的方式,您不能两次在 stackoverflow.com 上为同一个问题/答案投票
    • 好的,我接受这个作为答案。当投票限制超过时,我会强制用户输入验证码。
    猜你喜欢
    • 1970-01-01
    • 2018-01-31
    • 1970-01-01
    • 1970-01-01
    • 2019-05-26
    • 2012-04-02
    • 2017-08-31
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多