2009-09-05 208 views

回答

6

否。如果浏览器可以“查看”源代码,用户也可以看到它。 无法隐藏它。

14

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

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

+1

通过默默无闻的安全? :) – Mayo 2009-09-05 18:42:33

+1

这肯定会符合安德鲁的评估“不是正确的解决方案”。 – 2009-09-05 18:45:36

0

由于此源对来自浏览器的HTTP GET请求的响应,因此无法将HTML源从最终用户隐藏起来。但是,您可以使用Javascript编码/混淆HTML代码;或者您可以禁用JavaScript在浏览器窗口中右键单击。但是,这些不是简单的证明方法。

+6

N.B.当你mess their菜单,右键点击或其他方式时,人们绝对会讨厌它***。 – 2009-09-05 18:45:30

+2

哈哈,是的。我也讨厌这个!模糊的Javascript :) :) – swatkat 2009-09-05 18:46:14

+1

根据我的经验,混淆的Javascript有时会触发病毒警报。他们不应该被使用,仅仅因为这个原因:x – Matchu 2009-09-05 19:17:13

0

你不能从浏览器中隐藏它。

编辑:删除脚本我已经给

+2

...这是微不足道的... – 2009-09-05 18:49:58

+0

链接的脚本甚至没有捕捉到键盘上的右键按键。因此,对于IE,您应该添加' – 2009-09-05 19:04:17

1

正如其他人正确地说,你也不能HTML,CSS或JavaScript从最终用户隐藏。你可以试着混淆它,但是任何知道自己在做什么的人都可以很容易地改变它。

此处未提及的解决方案是使用Flash或Java小程序代替HTML。当然,这有许多缺点,我相信你知道你自己。我不确定调试的可能性。但是这至少是很难反编译的,它可以让你做一些你用纯HTML/Javascript无法做到的事情。自己决定是否适合你。

+0

Flash和applet的内容对用户仍然可见。 – recursive 2009-09-05 19:19:44

+0

是的,但它是以编译的二进制形式。需要大量的技巧和知识才能将其转化为类似于原始代码的东西。甚至可以将其混淆,远胜于HTML或JavaScript。 – 2009-09-05 20:36:09

2

我想你应该考虑你真正想要隐藏的部分以及为什么。如果你不希望用户能够找出你的页面真的在做什么,那么服务器端代码可能是唯一的选择。任何像HTML或Javascript这样的客户端都可以并且会被引入,混淆或不混淆。当你修改上下文菜单时,没有人喜欢它。

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.] 

我敢肯定,大量廉价的邻爱好者会很容易认为你的在顶部的花式命令实际上意味着什么,并忽略滚动条。我相信类似的数额不会被任何人愚弄。但考虑到实际上没有“真正的”解决方案,欺骗那些会出去偷你的页面设计的白痴实际上可能是一个体面的答案。

+0

有趣的是,我之前已经看到过这样做...... – Joel 2009-09-05 19:17:19

2

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

+1

此外,您还可以让您的内容对包括搜索引擎在内的非JS用户代理不可见。如果像查看document.documentElement.innerHTML一样简单,那么不值得。 – bobince 2009-09-05 20:25:25

1

肯定有一个简单的方法: 让服务器呈现HTML网页,只有图像传输到浏览器的xD

0

这里的,只是我脑子里浮现的另一个解决方案。如果你设置了所有可能的no-cache no-store等HTML头文件,一些浏览器将不允许你查看源代码。这是因为它们不会将其保存到磁盘,并且以某种方式禁用了它们显示源的能力。

这被证明可以在Opera上运行IE。不知道FF/Chrome/Safari - 自己测试一下。

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

+0

我还没有看到任何网站上禁用的* View Source *命令。你有这样的例子网站吗?无论如何,我认为只要你选择*文件 - >保存页面为*你会得到一个光盘上的HTML文件。 – 2009-09-05 21:07:21

+0

同上。 Back重新载入页面的网站很多,但我从来没有找到我(长期Opera用户)无法查看源代码的地方。 – MartW 2009-09-05 21:20:31

+0

嗯...现在不能重现它......但是我发誓我已经看到这种行为在工作中意外触发,甚至必须解决它。 – 2009-09-06 09:21:39

相关问题