【问题标题】:How can I hide sensitive information in a web page?如何在网页中隐藏敏感信息?
【发布时间】:2012-05-01 02:44:56
【问题描述】:

我正在尝试将包含测验数据[包括答案]的 json 对象从我的代码发送到 javascript。我用过...

var quizJson = <%=jsonObj%> 

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

提前致谢

【问题讨论】:

    标签: javascript asp.net json


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        【解决方案3】:

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

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

        【讨论】:

          【解决方案4】:

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

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

          【讨论】:

            猜你喜欢
            • 2020-11-24
            • 2018-01-31
            • 1970-01-01
            • 2010-11-30
            • 1970-01-01
            • 2012-01-01
            • 2022-11-02
            • 2023-04-01
            • 2015-07-19
            相关资源
            最近更新 更多