javascript - display:none 安全吗?
问题描述
我知道这是一个基本问题,可能太简单了,但是..
我隐藏了基于用户数据执行关键操作的关键按钮。
如果我阅读了用户的数据并意识到他不应该有某个按钮(比如他没有付款),那么我将其隐藏在 css 上:
.hidden{
display:none;
}
此类添加在html
. (这会影响安全性吗?)
无论如何,黑客是否可以抓住这个按钮并“点击”它?
我需要添加另一层安全性onClick
吗?
解决方案
这display: none;
将使该元素在浏览器上不可见。但是,它仍然存在于 DOM 中,如果用户去检查网站,按钮的 HTML 代码和onClick
代码将存在于 DOM 中。
这个 CSS 属性不适合实现安全功能,它只是实现用户可能希望看到的可见性变化。
业务逻辑的安全部分必须在后端代码中实现。这样,黑客就无法调用 onclick 并进行任何不需要的 API 调用。
推荐阅读
- flutter - 未找到 MaterialApp 中的 Inkwell
- c++ - 在输入一个超出无符号短整数范围的整数后,打印无符号短整数值的规则是什么?
- java - Java中excel文档的搜索算法
- python - 加载音乐期间未定义的 pygame 错误
- java - 启动 ApplicationContext 时出错。要显示自动配置报告,请在启用“调试”的情况下重新运行您的应用程序。应用程序运行失败
- c++ - 如何正确地从函数返回中移动对象?
- hibernate - 无法在此 ManagedType [未知] 上找到具有给定名称的属性
- spring-boot - Spring Boot 项目中的 HTTP ERROR 503 Service Unavailable
- node.js - nodejs中的“查询值必须是数组”错误?
- swift - 通过 Alamofire 发送字符串数组 - Swift