gpt4 book ai didi

javascript - 如何检测破解的JS验证?

转载 作者:行者123 更新时间:2023-12-02 18:53:09 26 4
gpt4 key购买 nike

我有一个网站,上面有一个测验。用户无法直接从测验中取得好成绩中获得任何东西,但他们可以在 Facebook 和 Twitter 上分享他们的结果。

问题是我不知道如何检查答案是否正确。在每个问题之后,用户应该能够重新启动或继续,如果他们答错了,或者如果用户答对了,它会自动继续。

如果检查是在服务器端完成的,则用户必须在提交答案后等待一秒钟,然后才会弹出下一个问题或弹出两个选项。但是,如果我在客户端这样做,就不会出现延迟,用户会更高兴。

因此,作弊并不会带来太多好处,但人们肯定会这样做是为了在 Facebook 和 Twitter 上炫耀。

那么,有没有办法进行抽查或任何其他方法来检测用户在客户端作弊?或者我只需决定在哪里进行验证?

最佳答案

不,如果您在客户端进行验证,则无法防止作弊。您可以让它变得更难一点,但最终您无法控制用户的浏览器,并且您的代码必须是可执行的。除非您采取额外的步骤,否则只需查看页面源代码并查看代码以获得正确答案就很容易作弊。如果您关心作弊,请在服务器端进行所有验证。使用 AJAX 在验证期间创建无缝的用户体验。等待 AJAX 请求几秒钟还不错,并且不会造成糟糕的用户体验。

如果您对客户端验证一心一意,那么混淆 JavaScript 例程是让攻击者感到痛苦的一个技巧。如果将混淆的代码生成器包装到 JS eval 函数调用中,攻击者必须先对其进行反混淆,然后才能确定问题的“正确”答案。使用 SpiderMonkey 可以轻松完成此操作,但这会阻碍脚本小子和懒惰者。当与混淆相结合时,你在这里和那里使用错误答案的想法也可能是好的。

但归根结底,我根本不会在客户端进行任何验证。使用 AJAX/服务器端组合为您的用户创造良好且公平的体验。

关于javascript - 如何检测破解的JS验证?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15618664/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com