JavaScript变量很容易被恶意修改吗?
我正在设置一个测验,使用布尔变量表示正确/不正确,然后通过Ajax将这些变量值传递给PHP脚本,以便在数据库中进行处理和存储JavaScript变量很容易被恶意修改吗?,javascript,security,Javascript,Security,我正在设置一个测验,使用布尔变量表示正确/不正确,然后通过Ajax将这些变量值传递给PHP脚本,以便在数据库中进行处理和存储 在找到带有“view source”的变量名称后,有人可以多么容易地覆盖我的代码设置的值?他们可以通过在Chrome/Firebug控制台上发出Javascript命令轻松地完成这项工作,如 var your_var_name = 60; 为了防止出现这种情况,您还必须进行后端同步。出于测试目的,您可以使用firefox插件firebug或chrome的开发者工具包。使
在找到带有“view source”的变量名称后,有人可以多么容易地覆盖我的代码设置的值?他们可以通过在Chrome/Firebug控制台上发出Javascript命令轻松地完成这项工作,如
var your_var_name = 60;
为了防止出现这种情况,您还必须进行后端同步。出于测试目的,您可以使用firefox插件firebug或chrome的开发者工具包。使用inspect元素更改javascript变量,然后执行发布数据的按钮操作。在服务器端,您应该确保发布的变量必须是该问题答案选项中的任何变量。是
你应该把答案发送给服务器,让服务器给测验打分。有趣的是,
你的变量名在JavaScript中是无效的标识符。
。)他们甚至不需要修改这些变量,他们可以发布他们想要的任何东西。这取决于如何完成。您需要提供代码让我们告诉您它有多安全。AJAX轮询可以像非AJAX轮询一样安全地完成,反之亦然。难道他们不需要查看源代码以找出正确答案,然后正常使用这些答案完成测验吗?您不能在客户端评分并将评分发送给服务器。你必须按照@rpflo的建议去做,把答案发送给服务器,让评分在那里进行。这是防止有人操纵结果的唯一方法。