我现在遇到过一些情况,在这些情况下,浏览器开发工具和任何人自由查看/编辑/添加的能力都有可能发生不希望发生的事情。
示例一。。。一个按钮,它有一个事件,触发一个函数,可以运行ajax,它运行一个php脚本,可以与数据库通信。。。用户转到dev工具,从html中删除禁用的标记,按钮可以自由触发按钮。
例二。。。好的,继续示例一,但是假设程序员只是从html中完全删除按钮,而不是禁用它。是什么阻止了解开发工具的用户进入并创建一个 <button id="whatever">Do Bad Things</button>
如果“可查看”源代码javascript中已经存在一个函数,任何东西都可以查看该函数以找到所需的事件触发器,请确定其触发方式,然后将其与添加的html按钮匹配(这有可能吗,似乎有可能,我可能错了。)
我想我只是好奇是否有一个标准来防止这类事情发生,特别是在用户不希望按钮被完全移除的情况下,他们更希望按钮是可视的,只是不可用。
如果你不保护它,它是坏代码吗?或者,是否有必要通过在php脚本中添加双重甚至三重检查的逻辑来完全保护自己,以确保不会被不需要的措施绕过?我的意思是,我知道用逻辑保护php是显而易见的,但是有没有一个标准可以遵循,或者最佳实践来防止这些类型的场景呢?
任何信息都可能有用。谢谢!
1条答案
按热度按时间piztneat1#
经过更多的研究和这里的回复,我能够确定客户端从来都不是真正安全的操纵。尽管在客户端添加保护可能很有用,但这并不是一种真正安全的方法。您必须100%验证服务器端以及受到保护。谢谢。
类似的帖子,我发现有更多的评论/答案,我可以阅读。
堆栈溢出1
堆栈溢出2