2009-10-27 97 views

回答

8

最好的辦法是在加載dom樹後立即刪除腳本標記,或者在javascript中動態創建腳本標記。

無論哪種方式,如果有人想使用Web開發工具或Firebug,他們仍然會看到JavaScript。如果它在瀏覽器中,它將被看到。

動態創建腳本標記的一個優點是,如果javascript被關閉,您將不會加載JavaScript。

如果我關閉了JavaScript,我仍然可以在html中看到所有內容,因爲您將無法刪除腳本標記。

更新:如果你把<script src='...' />,那麼你將不會看到JavaScript,但你看到的JavaScript文件的URL,所以它只是一個是到地址欄,你D/L的JavaScript粘貼的事。如果您動態刪除腳本標記,它仍將位於查看源代碼中,但不在螢火蟲的html源代碼中,並且如果您動態創建標記,則螢火蟲可以看到它,但不會在View Source中看到它。

不幸的是,正如我所說的Firebug總能看到JavaScript,因此它不從那裏隱藏。

唯一一個我沒有嘗試過,所以我不知道會發生什麼,如果你D/L的JavaScript作爲Ajax調用,然後執行Exec使用上,運行它。我不知道這是否會出現在任何地方。

+1

我很好奇downvote,因爲動態生成意味着它不會出現在'View Source'中,這是個問題。 – 2009-10-27 04:44:43

+0

我沒有倒下你,但要補充,它會顯示在Firefox的右鍵點擊'查看選擇源' – alex 2009-10-27 04:57:31

+0

是不是我,但同樣的效果會發生,如果你只包括

4

這幾乎是不可能的。如果有人想要你的源代碼,並將它包含在一個頁面中,他們將會得到它。

你可以嘗試捕捉右鍵單擊和各種其他hokey的方式,但最終如果你正在運行它,任何人與Firefox和100K下載(螢火蟲)可以看看它。

4

你不能,對不起。不管你做什麼,即使你可以阻止人們查看源代碼,用戶也可以使用curl或任何類似的工具手動訪問JavaScript。

嘗試一個JavaScript minifierobfuscator如果您想讓人們更難以閱讀您的代碼。無論如何,縮小器都是一個好主意,因爲它會減小你的下載量並加快你的頁面加載速度。混淆器可能會提供更多混淆,但最終可能不值得。

9

你不能隱藏的代碼,JavaScript在瀏覽器上解釋。瀏覽器必須解析並執行代碼。

您可能想混淆/縮小您的代碼。

推薦資源:

請記住,JavaScript的的目標微小減少代碼下載大小去除的意見和不必要的空格從您的代碼,迷惑也使縮小,但標識符名稱被改變,使您的代碼更難以理解,但最終混淆只會給你一個隱私的錯覺。

+0

這個答案比贏家更公平。就是這樣:你不能隱藏代碼,Web工具能夠看到腳本,因爲至少有一個腳本被下載和執行。這就是我一直在尋找的東西。謝謝 – LMG 2014-03-23 13:57:26

3

螢火蟲可以顯示模糊,和捲曲可以得到去除DOM元素,同時檢查引薦可以僞造。

士氣?爲什麼試圖甚至隱藏JavaScript?包含一個簡短的版權聲明和作者信息。如果你想隱藏它,比如說認證系統不能被黑客入侵,可以考慮加強服務器端,這樣服務器上就不會出現任何通過JavaScript關閉的空洞。頭部和請求很容易通過捲曲或其他工具僞造。

如果你真的想隱藏的JavaScript ...不使用JavaScript。使用合適的排序語言(java applets,flash,activex)等等(我不會這樣做,因爲它與原生javascript相比不是一個很好的選擇)。

1

不可能。

如果你只想隱藏你從用戶的業務邏輯和客戶端的HTML控件不操縱比你可以使用服務器端編程與阿賈克斯。

+2

我想你會混淆他的這個答案。 – KyleFarris 2009-10-27 05:37:16