繁体   English   中英

javascript全局变量 - 保护

[英]javascript global variables - protection

我在Web应用程序上使用一些全局变量,构建在Html / Javascript之上。 我在页面(或部分页面)中使用这些变量,有时它们被用作ajax调用的后期数据。 我的问题是:这有多安全? 我当然可以为这些变量设置不同的值(例如使用控制台)然后,依赖于此变量的调用。 想象一下,用户设置了一些与他甚至无法访问的内容相对应的Id。

该怎么做?

提前致谢

从安全性的角度来看,任何Web应用程序都没有什么不同。

从浏览器发送的任何内容都必须被服务器视为不受信任。 这包括URL参数,表单发布数据,cookie,http标头和由javascript控制的任何内容。 所有这些项目都可以被攻击者操纵。

从本质上讲,客户端中的值是什么并不重要,当他们以新的HTTP请求(包括XHR)的形式访问您的服务器时,您只需要担心它们。 在此之前,具有错误值的变量不会造成任何损害。

确保您的服务器可以正确地验证当前用户,并且只允许他们访问他们有权执行的数据和操作。 确保检查从浏览器接收的所有数据是正确的(如果已知)或正确的数据类型并且在预期限制内,拒绝数据并中止操作(如果不是)。

如果你使用jquery,你可以使用$ .data()

这样,您可以将数据与元素相关联,因此未经授权的用户将无法访问它

Javascript具有运行时类型标识(一切都像var basic一样),它是一种松散类型的语言。

Javascript虽然有自己的安全模型

  1. 用户无法访问文件(r / write)
  2. 它无法访问或查看用户位置,文件,无需打开窗口等

不可能保护你的javascript文件的来源,甚至pwd保护它,因为这是更好的服务器端。

即使加密或解密也不起作用,因为不知何故,您需要告诉用户密钥

更糟糕的是,JavaScript可以在运行时自行修改 - 通常也是如此。 这意味着安全威胁可能不会在语法或代码传递到客户端时出现,但是一旦脚本执行就可能出现。

没有用于解析和拒绝恶意脚本的JavaScript代理,没有主动扫描JavaScript以获取基于代码的漏洞的解决方案,也没有解决问题的外部答案。 这意味着我们不得不依赖浏览器开发人员,不仅要编写一个好的浏览器,而且还要考虑我们喜欢的所有花俏,但为了安全起见。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM