2009-09-05 195 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

相關問題