以下数据提交方法的缺点是什么?
What are the drawbacks in the following data submission methods?
我正在尝试实现在线测试。我发现了两种方法来检查用户选择的答案。
way1
<div class="qContainer" index="0">
Who has socred 100 centuries in Internationa cricker?
<ul>
<li> <input type="radio" value"Sachin">Sachin</input>
<li> <input type="radio" value"Don">Don Bradman</input>
<li> <input type="radio" value"Steve">Steve waugh</input>
<li> <input type="radio" value"Saeed">Saeed</input>
</ul>
</div>
在这个方法中,我将答案存储在问题本身[index=0]
中。但是用户可以欺骗这个。
way2
通过ajax post方法向服务器发送农场数据。
$.ajax({
url: "testResult.php",
type:"POST",
data: $("#formID").serialize()
});
使用这个方法,Url会随着选择的答案而改变。[我。并在php页面中根据数据库数据检查结果,并将结果显示给用户。
请让我知道是否有比这两种更好的方法来达到这个目的。这些方法的缺点是什么?
一种方法可能是这样的:在服务器端生成相应的表单,不将答案包含在表单中,而是将question <-> answer
映射存储在用户会话中。当表单被发送回服务器时,根据会话中存储的正确答案验证用户答案,并向用户发送相应的响应。
如何将表单发送回服务器(通过ajax或仅仅通过html方式)没有区别。
这很容易理解。
way1
如果你正在检索和存储问题本身的答案,那么当然,如果使用你的网站的人知道如何使用inspect element和viewsource以及其他类似的东西,那么他肯定会作弊,你不能做任何事情。
way2
如果需要安全性,使用ajax是唯一的选择。用户单击答案后,发送ajax调用并将该值存储在数据库中,然后在后端检查答案是否正确,然后在ajax响应中向用户显示他的答案是否正确。这样做的缺点是会有更多的服务器端处理,但你需要更安全的应用程序,然后你必须承担这些。您还可以查看可用的缓存服务,以减少对数据库的访问。
相关文章:
- 这是什么 ==- javascript 运算符
- 我的单元测试选项是什么
- 什么'最合适的数据结构是什么?(使用一个有间隙的数组是否存在缺点或注意事项?)
- 将Jquery UI与AngularJS一起使用的优点和缺点是什么?
- 使用javascript构建整个网页的缺点是什么
- 与Electron相比,Chrome应用程序的优点和缺点是什么
- 在使用 Jasmine 进行单元测试时,javascript 揭示模块模式的缺点是什么?
- 同时具有网络视图和本地视图的混合应用程序的优点和缺点是什么
- SAPUI5:作为应用程序包装器的容器,sap.m.Shell和sap.m.App的优点和缺点是什么
- 将javascript调用为HTML php样式的缺点(和优点)是什么?
- 使用meteor.js的(潜在)缺点是什么?
- 在数组上设置字符串属性的缺点是什么?
- 如果有的话,使用对象作为数组索引的缺点是什么?
- HTML、JavaScript和CSS最小化的缺点是什么?
- 与官方标准application/ JSON相比,将JSON数据作为文本/javascript提供的优点和缺点是什么?
- 闭包对象创建:这两种方法的优点/缺点是什么
- 在 JavaScript 中创建函数对象的优点/缺点是什么?
- 从外部角度调用$digest的缺点是什么
- 只有Json的web应用程序.缺点是什么?(或专业)
- 以下数据提交方法的缺点是什么?