用户是否可以在浏览器中修改站点 JavaScript



我对安全性了解不多,但我正在努力弄清楚如何尽可能保持我的网站安全。我知道我可以在后端处理多少东西越好,但是对于我想在客户端上保存一些变量的情况,这些东西是完全不可更改的吗?

例如,如果我为用户的角色设置一个全局变量(这是一个纯 AJAX Web 应用程序,因此全局变量始终可用),是否有任何软件可以在浏览器中编辑 javascript,以便用户可以更改他们的角色?

安全性是 Web 开发领域的一个大话题,确定 Web 应用程序的安全性对您来说很重要。

有 3 个部分供您注意

  1. 前端(网站)

这里的一切都不安全,浏览器中显示的任何内容都可以更改或修改。只需转到调试控制台,您就可以更改变量并再次重新渲染 html 页面

  1. 运输级别 (https)

Web 通信基于 HTTP(S) 协议,允许您在服务器和客户端之间进行通信。使用https可以防止你在中间攻击

  1. 后端

始终确保进行身份验证并检查从客户端发送的数据(发布、放置、删除)

预防

好消息是即使您更改了客户端的变量,它也只出现在该客户端会话上,不会影响任何其他会话。有几种方法可以提高前端的安全性

  1. 混淆

这意味着使您的源代码更难阅读。您可以尝试使用缩小之类的工具,并连接您的源代码。

  1. 数据

永远不要在客户端存储用户敏感数据(密码,用户信息),因为人们可以更改并查看它

这应该会让你更多地了解安全性

使用开发人员工具,如果在带有断点的调试模式下运行,则可以更改变量的值。

可以查看和篡改进入客户端的所有数据。有很多方法可以做到这一点(开发人员工具,HTTP代理等)。

最新更新