有没有一种简单的方法可以隐藏最终用户的HTML Source?

时间:2009-09-05 18:38:04

标签: asp.net html

我希望确定的最终用户可能会看到您的代码,但我更愿意隐藏它。

理想情况下,我希望能够将其隐藏起来,但不是我,以防我需要调试实时系统。

有什么建议吗?

10 个答案:

答案 0 :(得分:14)

不,浏览器需要HTML源代码来呈现页面。这只是用户能够查看它的又一步。周期。

但是,你可以obfuscate it。但是,请仔细考虑为什么需要这样做。您可能会发现这不是正确的解决方案。

答案 1 :(得分:6)

没有。如果浏览器可以“看到”源代码,用户也可以看到它。 没有办法隐藏它。

答案 2 :(得分:2)

我认为你应该考虑一下你真正希望隐藏的部分和原因。如果您不希望用户能够找到您的页面实际执行的操作,那么服务器端代码可能是唯一的选择。像HTML或Javascript这样的任何客户端都可以并且将被混淆,混淆或不混淆。当你修改上下文菜单时,没人会喜欢它。

答案 3 :(得分:2)

如果你想从完全愚蠢的人那里以完全愚蠢的方式隐藏它,这将永远有效:

<!-- <PGA_LOAD_MODULE> --!>
#include('page_assets232.pga', 'mode=webViewer', true, false, true, true);
#asset_load(232, true, false, true, true);
#asset_init(232, true, false, true, true);
#asset_paint(232, true, false, true, true);
#asset_display(232, true, false, true, true);
#final_render('mode=webViewer', 232);
<-- </PGA_LOAD_MODULE> -->




[a ton of line breaks]




<!DOCTYPE html>
<html>
<head>
[etc.]

我敢肯定很多廉价的业余爱好者会非常轻易地认为你在顶部的花哨命令实际意味着什么而忽略了滚动条。我确信类似的金额不会被愚弄。但鉴于实际上没有一个“真正的”解决方案,欺骗那些想要窃取你的页面设计的白痴实际上可能是一个不错的答案。

答案 4 :(得分:2)

这种方法可能会减慢临时用户查看源代码的速度:使用JQuery的load方法(或您选择的JavaScript库中的相应调用)在页面加载后将HTML注入DOM。查看源时,您将看不到Firefox或IE中任何已加载的内容。为了查看源代码,您需要使用Firebug之类的工具来显示当前的DOM树。当然,如果你能做到这一点,其他用户也可以......而且,没有什么可以阻止用户查看load电话的URI,只是请求你直接加载的页面。

答案 5 :(得分:1)

正如其他人所说的那样,您无法隐藏最终用户的HTML,CSS或JavaScript。您可以尝试对其进行模糊处理,但任何知道自己正在做什么的人都可以轻松地改变它。

此处未提及的解决方案是使用Flash或Java小程序而不是HTML。当然,这有许多缺点,我相信你已经了解自己。而且我不确定调试的可能性。但至少很难反编译它会让你做一些你用普通的HTML / Javascript做不到的事情。如果这对你有用,请自行决定。

答案 6 :(得分:1)

当然有一个简单的方法: 让服务器呈现html网页,只将图像传输到浏览器xD

答案 7 :(得分:0)

无法从最终用户隐藏HTML源代码,因为此源是来自浏览器的HTTP GET请求的响应。但是,您可以使用Javascript对HTML代码进行编码/混淆;或者您可以使用Javascript禁用在浏览器窗口中的右键单击。但是,这些都不是万无一失的方法。

答案 8 :(得分:0)

你无法将其隐藏在浏览器中。

已编辑:删除了我提供的脚本

答案 9 :(得分:0)

这是我脑海中浮现的另一种解决方案。如果你设置了所有可能的no-cache no-store等HTML标题,你可以找到一些浏览器不允许你查看源代码。这是因为它们没有将它保存到磁盘上,并且不知何故这会禁用它们显示源的能力。

这被证明适用于Opera和IE。不确定FF / Chrome / Safari - 自己测试一下。

但请注意,使用任何类型的HTTP调试代理(如Fiddler)绕过这一点也很简单。即使是地址栏中的小javascript:alert(document.body.innerHTML)也会显示几乎所有内容。这只能防止黑客崇拜的脚本小子。