如何隐藏网页中的敏感信息?

时间:2012-05-01 02:44:56

标签: javascript asp.net json

我正在尝试发送一个json对象,该对象将我的代码背后的测验数据[包括答案]保存到javascript。我用过......

var quizJson = <%=jsonObj%> 

但问题是,我的用户足够聪明,可以使用查看源并显示答案。有什么建议吗?

提前致谢

4 个答案:

答案 0 :(得分:6)

唯一正确的解决方案是不以任何形式将答案发送到浏览器。浏览器需要将用户输入的答案发送回服务器。然后使用服务器端代码确定答案是否正确。

答案 1 :(得分:4)

当用户选择答案时进行AJAX调用。这样,验证将是外部的,用户将无法查看源以找到答案。

答案 2 :(得分:2)

任何客户端都可以读取您发送给客户端脚本中使用的任何内容。即使你以某种方式模糊了源代码中的答案,任何人都可以调出一个调试器并在“解码”它们时看到真正的答案。这就像许多经典的游戏黑客一样,人们会禁用墙壁并看到过去的东西。您发送给客户的任何内容都易受攻击

保护答案的唯一方法是将它们保存在服务器上。将尝试的答案发布到服务器,然后在那里评分并将结果返回给客户端。

答案 3 :(得分:1)

使用简单加密(如this)以隐藏用户的文本。如果数据不重要,那么这将推动平均检查。

但是,如果答案对于保持隐藏很重要,那么请将它们隐藏起来......并且远离客户端。