我对安全性知之甚少,但我正在努力弄清楚如何让我的网站尽可能安全。我知道我可以在后端处理的东西越多越好,但是对于我想在客户端上保留一些变量的情况,那些东西是完全不可改变的吗?
例如,如果我将一个全局变量设置为用户的角色(这是一个纯AJAX Web应用程序,因此全局变量始终可用),任何软件都可以在浏览器中编辑javascript以便用户可能改变他们的角色?
答案 0 :(得分:1)
安全性是Web开发领域的一个重要主题,确定Web应用程序的安全性非常重要。
您需要注意三个部分
这里的一切都是不安全的,浏览器中显示的内容都可以更改或修改。只需转到调试控制台,您就可以更改变量并再次重新呈现html页面
Web通信基于http(s)协议,允许您在服务器和客户端之间进行通信。使用
https
可以防止你受到中间人攻击
始终确保验证并检查从客户端发送的数据(POST,PUT,DELETE)
<强>预防强>
好的是,即使您更改了客户端的变量,它也只会出现在该客户端会话中,并且不会影响其他任何会话。您可以通过几种方法提高前端的安全性
这意味着让您的源代码更难阅读。您可以尝试使用缩小等工具,并将源代码连接起来。
永远不要在客户端存储用户敏感数据(密码,用户信息),因为人们可以改变并看到它
这可以让您了解有关安全性的更多信息
答案 1 :(得分:0)
如果您使用开发人员工具在带有断点的调试模式下运行,则可以更改变量值。
答案 2 :(得分:0)
可以查看和篡改发送到客户端的所有数据。有很多方法可以做到这一点(开发人员工具,HTTP代理,......)。