为什么允许浏览器显示客户端源代码?

时间:2011-03-18 06:30:25

标签: browser client-side frontend source-code-protection

为什么允许浏览器显示HTML / CSS / JavaScript文件的源代码?我被告知,混淆不是提供保护的最终答案。因此,一旦将代码发送到客户端,任何人都可以窃取前端数据?不是所有流行的浏览器都提供密码机制,以便未经授权的用户看不到源代码?公司在开发专业网站上投入了大量的时间,金钱和其他资源,但似乎盗贼有很多业务。

请注意,我不是在询问是否可以隐藏源代码或者可以使用哪种工具来执行此操作。已有问题/讨论。浏览器可以看到客户端源代码,但我没有得到的是为什么允许他们向用户显示它。他们不能在后台处理文件,而不是说“这是查看页面的代码。请继续查看!”

更新:感谢您的回答。我看到有其他方法可以获取客户端代码。因此,对浏览器施加限制并不能解决问题。纯文本,mmmm。互联网的基础前端框架可能更倾向于帮助开发人员保护他们的工作。 :)

4 个答案:

答案 0 :(得分:7)

最终,即使浏览器 删除了“显示源代码”选项,编写一个程序也是绝对无足轻重的(如在单个wget命令或几行C#中)获取标记,js和CSS。

Web服务器正在提供文档 - 因此您将文档提供给用户。为什么您希望文档以某种方式对用户隐藏?

编辑我认为你需要更多地了解互联网的历史,以及互联网的历史和设计目标。 HTTP “互联网”,不仅仅是FTP,TelNet或魔兽世界都是“互联网”。当互联网被发明时,HTML,CSS和JavaScript根本就不存在,因此保护知识产权的考虑不是问题。 ARPANET(现代互联网的先驱)旨在允许远程工作人员访问超级计算机 - 网络不是远程考虑因素。

答案 1 :(得分:2)

因为隐藏代码是浪费时间吗?

让我们假设您拥有一个网络浏览器都禁止您看到HTML,CSS和JavaScript的世界。如果我想查看代码,我只需Telnet到您的服务器并手动插入HTTP代码,我将看到代码。或者我在[插入您选择的脚本语言]中编写一个脚本,花费我大约五分钟的时间,这将为我做。或者我使用wget或fetch等程序。

为什么浏览器制造商会打扰?

答案 2 :(得分:1)

HTML + CSS + Javascript全部以纯文本形式发送,因此浏览器中没有任何内容可以阻止用户查看,因为任何想要滥用原始数据的人都会发现在没有浏览器的情况下访问它是微不足道的。事实上,他们甚至可以单独用telnet检索它。

答案 3 :(得分:1)

  1. 由于HTML / CSS / JAvascript不是代码,因此它是某种结果代码。
  2. 为什么不能所有浏览器都提供密码机制,以便未经授权的用户看不到源代码?因为他们不必这样做,并且因为它是业务,所以他们提供的“功能”越多,它们就越受欢迎。
  3. 您无需成为浏览器即可查看html / css / javasript。