首页 > 解决方案 > display:none 安全吗?

问题描述

我知道这是一个基本问题,可能太简单了,但是..

我隐藏了基于用户数据执行关键操作的关键按钮。

如果我阅读了用户的数据并意识到他不应该有某个按钮(比如他没有付款),那么我将其隐藏在 css 上

.hidden{
display:none;
}

此类添加在html. (这会影响安全性吗?)

无论如何,黑客是否可以抓住这个按钮并“点击”它?

我需要添加另一层安全性onClick吗?

标签: javascripthtmlcsssecurity

解决方案


display: none;将使该元素在浏览器上不可见。但是,它仍然存在于 DOM 中,如果用户去检查网站,按钮的 HTML 代码和onClick代码将存在于 DOM 中。

这个 CSS 属性不适合实现安全功能,它只是实现用户可能希望看到的可见性变化。

业务逻辑的安全部分必须在后端代码中实现。这样,黑客就无法调用 onclick 并进行任何不需要的 API 调用。


推荐阅读