我正在开发一个测验Web应用程序,并且处于两难境地是否使用ajax或完整回发来评估用户的答案。
用户在文本框中输入答案,然后单击每个问题的“提交”按钮。应该评估答案,并立即将结果(正确/错误)呈现给用户。
当然,ajax将是更加用户友好的处理方式,但我应该担心暴力/字典攻击吗?
哪个更容易受到这些攻击?
我该如何防止这种情况?
答案 0 :(得分:2)
在易受攻击方面;两种方法都是一样的。 ajax请求与回发相同,但它是通过javascript完成的,因此只需要根据需要更新/重新加载页面的一小部分。
为你发行;如果不允许用户进行多次尝试,只需将第一个响应注册为final。如果他们被允许多次尝试;然后限制他们可以拥有的总尝试次数。
如果以上都不是一个选项,那么用户可以随时使用。
答案 1 :(得分:1)
我只想添加关于@kami编写的另一种方法,您还可以跟踪每个客户端的请求,并在确定的时间段内在任何“N”个请求之后显示验证码,该解决方案非常标准我在几个网站上看到的东西。
如果你问我,我更喜欢ajax调用vs一个完整的postback定义。
答案 2 :(得分:0)
我应该使用ajax,它对最终用户来说看起来更顺畅 为用户提供更好的感受/体验