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

为什么浏览器允许编辑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源代码就安全的想法太天真了。

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

报告相同问题?

悬赏问题

  • ¥15 在若依框架下实现人脸识别
  • ¥15 网络科学导论,网络控制
  • ¥100 安卓tv程序连接SQLSERVER2008问题
  • ¥15 利用Sentinel-2和Landsat8做一个水库的长时序NDVI的对比,为什么Snetinel-2计算的结果最小值特别小,而Lansat8就很平均
  • ¥15 metadata提取的PDF元数据,如何转换为一个Excel
  • ¥15 关于arduino编程toCharArray()函数的使用
  • ¥100 vc++混合CEF采用CLR方式编译报错
  • ¥15 coze 的插件输入飞书多维表格 app_token 后一直显示错误,如何解决?
  • ¥15 vite+vue3+plyr播放本地public文件夹下视频无法加载
  • ¥15 c#逐行读取txt文本,但是每一行里面数据之间空格数量不同