这是一个javascript安全问题:假设页面找出计算机的屏幕分辨率,例如1024 x 768,并且想要使用AJAX调用将此数据记录到数据库中.
有没有办法真正防止伪数据输入数据库?我认为无论HTML或Javascript做什么,用户都可以对代码进行反向工程,以便将一些假数字输入数据库,或者是否有办法防止它完全发生?(100%安全).
更新:或者在类似的情况下......如果我写一个简单的javascript游戏......有没有办法让用户通过AJAX发回分数并谎称他们的分数?
如果你假设你正在与之通信的用户是恶意的,那么就没有; 你无法控制他们传递给你的数据.当然不是100%确定 - 在最坏的情况下,他们可以使用网络工具重写或替换任何他们想要的"正确"内容.
如果您只是想防止随意恶意,您可以对代码和/或数据进行模糊处理或加密.这不会阻止坚定的攻击者.
如果您真的信任真实用户,但怀疑其他人可能会尝试冒充他们,您可以使用其他技术,如动态金丝雀:向用户发送一个随机数,如果他们向您返回相同的数字,您就知道它真的来自他们.(或者你受到了中间人攻击,但嘿,这就是SSL的用途.)