txqq2005 2018-10-21 08:46 采纳率: 100%
浏览 3146
已采纳

为什么浏览器允许编辑HTML源代码?

我想很多人都知道,鼠标右键点击一个网页的时候,弹出的菜单中有一个 查看源码 的功能!

打开后可以看到页面生成的HTML代码、CSS代码、以及JavaScript代码,我觉得浏览器这种做法让程序变得很不安全!

上述说的查看源码还仅仅是查看,下面说到的F12开发者工具就更不合理了,居然可以编辑HTML源码!

比如以下场景:根据权限,将一个提交按钮设置成了隐藏状态style="display:none;"

正常情况下,用户是看不到这个按钮的

然而通过F12开发者工具提供的编辑功能,只需通过修改CSS样式style="display:inherit"就可以显示出这个按钮

如果后台没有再进行二次权限验证,此时这种状态就可以正常提交了,完全绕过了权限控制

哪怕控制权限的时候不是通过CSS隐藏按钮,而是直接去除按钮的HTML代码,用户仍然可以通过浏览器提供的F12开发者工具手动输入一段提交按钮的代码既可以提交表单

上述说的这些问题都是经过测试并确实可以实现的功能

很不明白为什么浏览器为什么要提供这样的功能?

可以查看HTML源码就觉得挺诡异,居然还可以编辑HTML源码,实在想不明白为什么要这么做,浏览器开发商不是应该一起帮助开发者保护程序安全吗?

  • 写回答

1条回答 默认 最新

  • threenewbee 2018-10-21 13:48
    关注

    客户端本身就是不安全的。浏览器允许编辑html仅仅为开发者提供了调试的功能。你以为浏览器不提供就安全了?

    首先,基于浏览器内核自己写一个可以编辑html的程序非常容易,浏览器不提供,那么大家也能自己写。
    其次,服务器只认你的http请求,而请求并非只有用户点击控件浏览器发送,这种简单的事情,用各种编程语言都能模拟。如果你了解下http协议,就会知道这个多么简单!

    君不见各种投票软件、爬虫工具、机器人程序、页游外挂满天飞么?甚至很多小学生、中学生用e语言之类的工具,也能开发。

    所以以为浏览器不能编辑html源代码就安全的想法太天真了。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥20 基于MSP430f5529的MPU6050驱动,求出欧拉角
  • ¥20 Java-Oj-桌布的计算
  • ¥15 请问如何在openpcdet上对KITTI数据集的测试集进行结果评估?
  • ¥15 powerbuilder中的datawindow数据整合到新的DataWindow
  • ¥20 有人知道这种图怎么画吗?
  • ¥15 pyqt6如何引用qrc文件加载里面的的资源
  • ¥15 安卓JNI项目使用lua上的问题
  • ¥20 RL+GNN解决人员排班问题时梯度消失
  • ¥60 要数控稳压电源测试数据
  • ¥15 能帮我写下这个编程吗