Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/452.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JavaScript变量很容易被恶意修改吗?_Javascript_Security - Fatal编程技术网

JavaScript变量很容易被恶意修改吗?

JavaScript变量很容易被恶意修改吗?,javascript,security,Javascript,Security,我正在设置一个测验,使用布尔变量表示正确/不正确,然后通过Ajax将这些变量值传递给PHP脚本,以便在数据库中进行处理和存储 在找到带有“view source”的变量名称后,有人可以多么容易地覆盖我的代码设置的值?他们可以通过在Chrome/Firebug控制台上发出Javascript命令轻松地完成这项工作,如 var your_var_name = 60; 为了防止出现这种情况,您还必须进行后端同步。出于测试目的,您可以使用firefox插件firebug或chrome的开发者工具包。使

我正在设置一个测验,使用布尔变量表示正确/不正确,然后通过Ajax将这些变量值传递给PHP脚本,以便在数据库中进行处理和存储


在找到带有“view source”的变量名称后,有人可以多么容易地覆盖我的代码设置的值?

他们可以通过在Chrome/Firebug控制台上发出Javascript命令轻松地完成这项工作,如

var your_var_name = 60;

为了防止出现这种情况,您还必须进行后端同步。

出于测试目的,您可以使用firefox插件firebug或chrome的开发者工具包。使用inspect元素更改javascript变量,然后执行发布数据的按钮操作。在服务器端,您应该确保发布的变量必须是该问题答案选项中的任何变量。


你应该把答案发送给服务器,让服务器给测验打分。

有趣的是,
你的变量名在JavaScript中是无效的标识符。
。)他们甚至不需要修改这些变量,他们可以发布他们想要的任何东西。这取决于如何完成。您需要提供代码让我们告诉您它有多安全。AJAX轮询可以像非AJAX轮询一样安全地完成,反之亦然。难道他们不需要查看源代码以找出正确答案,然后正常使用这些答案完成测验吗?您不能在客户端评分并将评分发送给服务器。你必须按照@rpflo的建议去做,把答案发送给服务器,让评分在那里进行。这是防止有人操纵结果的唯一方法。