iT邦幫忙

0

請問有無製作網頁的達人! 告訴我,如何讓別人在該網頁按右鍵時,看不到我的原始碼?

例如說:在網站首頁,我不想讓競爭者學習我的原始碼,方便他可以直接了解我設置的關鍵字以及敘述等等! 但如何做呢?

看更多先前的討論...收起先前的討論...
用 Flash 做網頁, 按右鍵就看不到原始碼了
魯大 iT邦高手 1 級 ‧ 2009-02-27 10:44:36 檢舉
這個還真的是看不到..
至少目前我真的看不到..
小海綿,真有你的...
wordsmith iT邦高手 1 級 ‧ 2009-02-27 10:49:56 檢舉
不過現在反解譯Flash的程式也不難取得呀
其實我只看過Yahoo/Google把Javascript做obfuscate
以提高效率,順便增加讀者的難度而已
近十年來
好像沒什麼人在研究如何保護網頁原始碼這件事了
tom6507 iT邦大師 1 級 ‧ 2009-02-27 11:02:04 檢舉
因為會的人太多了吧
fillano iT邦超人 1 級 ‧ 2009-02-27 16:51:58 檢舉
ff, ie可通用的擋法:

<html>
<script>
</script>
<body>
<div onclick="alert('hihi');">hi hi</div>
<script>
function test (ev) {
	if (ev) {
		if(ev.button == 2) {
			ev.preventDefault();
			ev.stopPropagation();
			return false;
		}
	}
}
document.onclick = test;
document.oncontextmenu = function(){return false;};
</script>
</body>
</html>


但是,不用靠右鍵也可以看到網頁原始碼,所以意義不大。
ehawk iT邦研究生 1 級 ‧ 2009-02-28 12:35:37 檢舉
擁有對Search engine optimization ,也就是搜尋引擎最佳化的知識 才是致勝關鍵。同時這方面知識是沒有絕對的,只有Noobs才會對你的原始碼有興趣:)
Ruei iT邦研究生 1 級 ‧ 2009-03-07 15:06:14 檢舉
反正是右鍵看不到的方式,不過更多不用按右鍵就可以知道你的原始碼了....

其實這問題有點詭異,感覺應該是新人寫網頁吧,瞭解一下 HTTP 運作方式就能夠知道為什麼你會得到這些答案了,不過要 「IE 瀏覽器」「右鍵」看不到原始碼還蠻簡單的 xd
60
灌籃高手
iT邦高手 1 級 ‧ 2009-02-27 09:55:59
最佳解答

用javascript可以鎖右鍵,但基本上很容易就可以破解,目前應該沒有什麼好的方法吧

看更多先前的回應...收起先前的回應...
julie8tw iT邦研究生 4 級 ‧ 2009-02-27 14:18:02 檢舉

這應該很難,因為想破的人一定比想防的人多

fillano iT邦超人 1 級 ‧ 2009-03-02 09:16:43 檢舉

樓主的目的是「我不想讓競爭者學習我的原始碼,方便他可以直接了解我設置的關鍵字以及敘述」。這樣做encode大概就有「反效果」,因為搜尋引擎可能就找不到了...

沒錯,加密之後要考慮搜尋引擎找不到的問題,現在的網站搜尋引擎可以帶進不少的流量,除非你是內部網站,不需要讓外面的人找的到

tom6507 iT邦大師 1 級 ‧ 2009-03-02 09:49:16 檢舉

內網也沒啥好鎖的了吧

56
fillano
iT邦超人 1 級 ‧ 2009-02-27 11:03:25

你的問題是無解的。如果我要看原始碼,方法多的是,http是公開的協定,html是公開的格式,內容只有IE鎖得住,其他是防不了的。就算不透過瀏覽器,有很多方法可以透過程式去抓你的網頁,原始碼當然一覽無遺。

另外,即使你把內容包進flash,關鍵字一定還是放在網頁裡,否則搜尋引擎找不到,一點意義也沒有。同樣地,即使你用方法來限制網頁只能用IE來瀏覽,也一樣可能會有同樣的問題。

簡單的防右鍵(只對IE有效):

&lt;pre class="c" name="code">
&lt;script type="text/javascript">
document.oncontextmenu = function(){return false;}
&lt;/script>
jamesjan iT邦高手 1 級 ‧ 2009-02-27 13:22:15 檢舉

防右鍵只對頁面有效,透過工具列的檢視原始碼一樣看光光
很多先進的 Browser 都有解除右鍵失效的功能

44
jamesjan
iT邦高手 1 級 ‧ 2009-02-27 13:46:57

fillano 大說的沒錯,基本上無解,也沒有意義
不論您的頁面如何包裝或 encode
對 Browser 來說都需要轉換成 DOM (Document Object Model)
只要操作 DOM 的解析,就可以取得所需要的資料

例如我們將 HTML 改成 Javascript 來操作,
如 a 網頁只有一段

&lt;pre class="c" name="code">&lt;script src="loadHTML.php">&lt;/script>

在 loadHTML.php (或者是直接寫在 js 檔中)中再去產生編碼後的 HTML 頁面(存到 shtml)
然後輸出

&lt;pre class="c" name="code">echo "document.write("+shtml+");";

按右鍵檢視原始檔只有這一段<script src="loadHTML.php"></scrip>
不過他只要按一下 firebug,就一目了然...XD

最討厭用document.write寫網頁的人了
每次要看原始碼都還得拐彎抹角的...@_@

以前聽過一種說法
不管後台用多複雜的伺服器
用那一種高強到不行的程式語言
跑誇張到不行的流程和邏輯
最後到瀏覽器的
只有一百零一種的「HTML」

不想讓人看到HTML原始碼
那就連瀏覽器都看不到才辦得到
這樣的原始碼是沒有意義的

如果要讓瀏覽器看得到而且看得懂(廢話)
那就沒法防止人看到原始碼

呼...
上次打這些字應該是十年前了吧...-_-|||

jamesjan iT邦高手 1 級 ‧ 2009-03-01 17:23:50 檢舉

真是聽君一席話,勝讀十年書啊

34
nikwu43
iT邦好手 1 級 ‧ 2009-02-27 22:02:43

我想你的網頁如果可以做到全flash...
有心人可能要花一點時間才可以看到吧...

42
huangsb
iT邦好手 1 級 ‧ 2009-02-28 10:32:24

人類是透過互相學習才會成長。如果大家都封閉自己的技術,就不會有今日的 Internet。從今日的 Open Source 的發展,就可略知一二。所謂防不勝防,何不多花時間去學些重要的事。

42
processor
iT邦新手 5 級 ‧ 2009-03-01 17:13:31

html的原始碼要讓別人看不到的唯一方法就是不要上網,既然要給別人看,那一定就有辦法取得原始碼。

全球有這麼多網站,會鎖右鍵的少之又少,有名的大概只有台灣的無名小站,小氣芭啦的小站,結果有鎖了什麼嗎?什麼也沒有,只是多了點點無謂的"考驗"罷了

我要發表回答

立即登入回答