關(guān)于網(wǎng)頁(yè)源代碼屏蔽_第1頁(yè)
關(guān)于網(wǎng)頁(yè)源代碼屏蔽_第2頁(yè)
關(guān)于網(wǎng)頁(yè)源代碼屏蔽_第3頁(yè)
關(guān)于網(wǎng)頁(yè)源代碼屏蔽_第4頁(yè)
關(guān)于網(wǎng)頁(yè)源代碼屏蔽_第5頁(yè)
已閱讀5頁(yè),還剩9頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、關(guān)于網(wǎng)頁(yè)源代碼屏蔽很早就想寫一篇關(guān)于網(wǎng)頁(yè)源代碼屏蔽的文章。是因?yàn)榻?jīng)常編出些JS腳本的之后,在沾沾自喜的同時(shí),也在擔(dān)心源代碼會(huì)被人家看到,盜用我的腳本。所以一直以來(lái),我都在盡力維護(hù)我的網(wǎng)頁(yè)源代碼的安全。雖然目前還沒有找到完全安全的屏蔽方法(也就是說(shuō),這些方法在我想出來(lái)的同時(shí),自己已經(jīng)知道其弱點(diǎn)和破解方法了,但是,我這里有很多屏蔽的思路,來(lái)總結(jié)一下。眾所周知,要保護(hù)一個(gè)頁(yè)面,最基礎(chǔ)的就是要屏蔽右鍵。而現(xiàn)在網(wǎng)頁(yè)上用得最多的是function click(,即下面這段代碼:scriptfunction click(if(event.button=2alert( 本網(wǎng)站歡迎您!;document.onm

2、ousedown=click/script但是這種屏蔽方法的破解方法也是眾所周知的。那就是連續(xù)單擊鼠標(biāo)左鍵和右鍵便又可以看到右鍵菜單了。但是,我見過(guò)一種很好的屏蔽右鍵的方法。它的原理和上面所說(shuō)的不同。它并不是用JS來(lái)編寫的腳本,而是利用定義網(wǎng)頁(yè)屬性來(lái)起到限制的作用。而且,在屏蔽中應(yīng)該盡量的避開使用JS腳本。因?yàn)橹灰獮g覽者把IE里的javascript腳本禁用了。那么一切屏蔽都白費(fèi)。那么繼續(xù)說(shuō)那種通過(guò)修改網(wǎng)頁(yè)屬性的屏蔽右鍵的方法。這種方法利用了HTML里的body來(lái)作修改,它只有以下短短的一行代碼:body oncontextmenu=self.event.returnV alue=false這

3、里,定義了oncontextmenu。使得右鍵的值為false,起到了屏蔽右鍵的效果?,F(xiàn)在,再試試看剛才的破解方法,已經(jīng)不行了。左右鍵連擊已經(jīng)不能再打開右鍵菜單。不但是這個(gè),再試試看其他的方法。無(wú)論你怎樣的亂點(diǎn),右鍵都沒有用。因?yàn)樵谶@個(gè)網(wǎng)頁(yè)里,右鍵已經(jīng)不存在了。對(duì)于一個(gè)不存在的功能鍵,你又能做什么呢?但是,屏蔽了右鍵還不能解決問(wèn)題。如果我要復(fù)制一段文字,或是一張圖片。那么,把它選中后用ctrl+C 再用 ctrl+V不就可以復(fù)制粘貼了嘛。對(duì)了,接下來(lái)要講的,就是屏蔽左鍵(什么?屏蔽左鍵?那這個(gè)網(wǎng)頁(yè)不就差不多廢掉了?別急,沒說(shuō)完呢,左鍵只有一項(xiàng)功能是很討厭的的選定功能。那么,如上所說(shuō),用JS來(lái)屏

4、蔽是沒有用的,治標(biāo)不治本的。那么,我們就還用網(wǎng)頁(yè)的最基礎(chǔ)的語(yǔ)言: HTML來(lái)定義吧。還是老招數(shù),定義body。這次用的參數(shù)是:onselectstart。就是左鍵選定的參數(shù)。代碼如下:body onselectstart="return false"這樣,左鍵選定功能就給輕易屏蔽了。原理和上面的一樣?,F(xiàn)在,再用你的左鍵選擇任意內(nèi)容把,已經(jīng)沒有用了。自然也不能ctrl + C,ctrl +V了。那么,現(xiàn)在我們來(lái)把這兩部分合并起來(lái)。徹底控制左右鍵!:body oncontextmenu=self.event.returnV alue=false onselectstart=&q

5、uot;return false"現(xiàn)在,左右鍵的問(wèn)題總算是解決了吧。好,現(xiàn)在我們來(lái)看另一個(gè)問(wèn)題。大家都知道,在IE瀏覽器的菜單欄里的“查看”項(xiàng)里。有一個(gè)“查看源代碼”選項(xiàng)。這么一來(lái),雖然我們屏蔽了右鍵里的查看源代碼。但是,只要用菜單欄里的查看源代碼,還是可以看到源代碼的。這可怎么辦呢?我最初的想法是用框架來(lái)避開源代碼的查看。也就是說(shuō),只要一個(gè)網(wǎng)頁(yè)是嵌在框架里的,那么在菜單欄里選擇查看源代碼查看到的只是框架網(wǎng)頁(yè)的源代碼。一般格式如下:htmlheadmeta HTTP-EQUIV="Content-Type" CONTENT="text/html; cha

6、rset=gb2312"title本網(wǎng)站標(biāo)題/title/headframeset rows="47,*" framespacing="0" border="0" frameborder="0"frame name="header" scrolling="no" noresize target="main" src="top.htm"frame name="main" src="main.htm&

7、quot; scrolling="auto" target="_self"noframesbodyp此網(wǎng)頁(yè)使用了框架,但您的瀏覽器不支持框架。/p/body/noframes/frameset/html這樣看起來(lái)對(duì)方是沒有直接看到你的源代碼了。但是,如果一個(gè)人要看你的源代碼,那他八成是能看懂的。如果懂一點(diǎn)HTML的話,都能看出這兩句是什么意思:frame name="header" scrolling="no" noresize target="main" src="top.htm&q

8、uot;frame name="main" src="main.htm" scrolling="auto" target="_self"這兩句的意思就是:在header(也就是網(wǎng)頁(yè)頂部處引用相對(duì)路徑下的top.htm網(wǎng)頁(yè)文件。而在main (也就是占據(jù)網(wǎng)頁(yè)大部分頁(yè)面的位置處引用相對(duì)路徑下的main.htm網(wǎng)頁(yè)文件。就這兩點(diǎn)是關(guān)鍵的,其他就不作解釋了,大家也都懂的。而上面所講的利用框架來(lái)隱藏源代碼的方法就是將要顯示頁(yè)面放在main部分。而將header部分的大小設(shè)為0。但是這樣一來(lái),利用菜單欄里的查看源代碼,還是能查

9、看到框架網(wǎng)頁(yè)的源代碼。只要看到這兩句,就知道我們前面用的手法了。也就是說(shuō),只要將框架網(wǎng)頁(yè)的名字改為目標(biāo)網(wǎng)頁(yè),便可以用相同的方法直接看到目標(biāo)網(wǎng)頁(yè)的源代碼了。如:框架網(wǎng)頁(yè):那么,有些人就會(huì)想到,如果對(duì)方看不到框架網(wǎng)頁(yè)的源代碼。又何談去直接打開被保護(hù)網(wǎng)頁(yè)?對(duì),這就是接下來(lái)我要講的。如果要一個(gè)頁(yè)面的菜單欄內(nèi)的查看源代碼失去效用。那最簡(jiǎn)單的辦法就是去掉菜單欄。而這一點(diǎn)是可以通過(guò)彈出窗口來(lái)實(shí)現(xiàn)的。之所以不選用超鏈接打開無(wú)菜單欄窗口是因?yàn)槟菢訒?huì)暴露目標(biāo)地址,瀏覽者可以直接在瀏覽器中敲入地址,而繞過(guò)這個(gè)屏蔽的菜單欄。要使用超鏈接打開無(wú)菜單欄窗口,就必須在一個(gè)已受到源代碼屏蔽保障的網(wǎng)頁(yè)中使用相關(guān)鏈接。那么,我們

10、就看看如何利用彈出窗口來(lái)去掉菜單欄。其實(shí),我們要做的,就是讓目標(biāo)網(wǎng)頁(yè)在一個(gè)廣告條中打開。這個(gè)代碼幾乎每個(gè)大型網(wǎng)站都會(huì)有的。代碼如下:script!-window.open("red.htm", "red", "resizable=yes,width=500,height=300"-/script這里,在window.open后的括號(hào)里的第一個(gè)參數(shù)就是彈出窗口所顯示的網(wǎng)頁(yè)的位置,這里例子里是先對(duì)位置下的red.htm網(wǎng)頁(yè)文件。這時(shí)運(yùn)行便會(huì)談出一個(gè)顯示有red.htm的無(wú)菜單欄的窗口。好,我們的目的達(dá)到了。但是,這個(gè)窗口有一個(gè)缺陷,就是沒

11、有滾動(dòng)條。因?yàn)樵谡劤龃翱诘恼Z(yǔ)句:window.open里并沒有關(guān)于滾動(dòng)條的參數(shù),(或是我不知道?歡迎高手來(lái)信指出,所以這里打開的網(wǎng)頁(yè)建議只做成網(wǎng)頁(yè)的導(dǎo)航頁(yè)。但是,用以上方法取消菜單欄,必須有一個(gè)第二方的網(wǎng)頁(yè)來(lái)作彈出的工作。那么,這個(gè)用來(lái)彈出窗口的網(wǎng)頁(yè)又成為了一個(gè)問(wèn)題的所在。舉例來(lái)說(shuō):假設(shè),我們用一個(gè)index.htm來(lái)作彈出窗口的工作。也就是打開index.htm之后,會(huì)彈出red.htm的無(wú)菜單欄窗口。前面我們也提到了,如果知道了一個(gè)網(wǎng)頁(yè)的地址后,無(wú)論這個(gè)網(wǎng)頁(yè)是否隱藏在無(wú)菜單欄之下,你都能看到它的源代碼。那么,不讓這個(gè)red.htm的地址暴露也就成了解決這個(gè)問(wèn)題的關(guān)鍵。但是,只要這個(gè)inde

12、x.htm被打開,就可以看到源代碼。但是,不妨反過(guò)來(lái)想想,如果我們把index.htm給關(guān)起來(lái)呢?只要在瀏覽者沒有來(lái)得及查看index.htm之前將它關(guān)閉,就能保住它的源代碼了。那么,在這個(gè)index.htm里就有得做些文章了。那就是,添加關(guān)閉網(wǎng)頁(yè)的代碼。那么,我們就可以用window.close來(lái)關(guān)閉窗口。代碼如下:script!-window.open(;-/script那么,現(xiàn)在我們把兩部分代碼合并起來(lái)。現(xiàn)在,得到的效果就是直接有一個(gè)無(wú)菜單欄的窗口打開了。因?yàn)橛?jì)算機(jī)的處理速度很快,如果我們將這兩段代碼緊接著寫在一起,那么我們就只能看到新建的窗口。代碼如下:script!-window.o

13、pen("red.htm", "red", "resizable=yes,width=500,height=300"window.close(;-/script而原來(lái)的窗口,已在我們無(wú)察覺的情況下關(guān)閉了。這樣,就別說(shuō)查看該網(wǎng)頁(yè)的源代碼了。這里,加入上面源代碼的網(wǎng)頁(yè)起了一個(gè)跳板的作用。但是,在這里,我們要注意幾點(diǎn)。第一,用來(lái)做跳板的網(wǎng)頁(yè)不應(yīng)該命名為index.htm。將它換一個(gè)名字,然后把默認(rèn)首頁(yè)的名字改為更改過(guò)的名字。這樣,是瀏覽者能在輸入網(wǎng)之后便自動(dòng)訪問(wèn)該頁(yè)。而又不致讓對(duì)方知道該頁(yè)的名稱。如果不這樣做,就會(huì)導(dǎo)致對(duì)方猜測(cè)出該頁(yè)的位置。

14、如:/index.htm。這樣,就可以通過(guò)在瀏覽器中提交:V iew-Source:Http://index.htm 就可以看到該頁(yè)的源代碼了。在屏蔽掉了菜單欄和工具欄之后,我們想,如果沒有了最上方的窗口條該多好呢?下面我們要做的事情,有前提,就是在上面所說(shuō)的在利用跳板頁(yè)面打開一個(gè)無(wú)菜單欄的窗口之后。我們要做什么呢?就是讓我們顯示網(wǎng)站內(nèi)容的窗口只顯示內(nèi)容,(是啊,網(wǎng)站不就是給別人瀏覽的嗎?要瀏覽器和windows的那么多功能做什么呀只要內(nèi)容,其余一律去掉。我們就可以通過(guò)一段Javascript來(lái)完成。下面這段代碼就是用來(lái)定義無(wú)任何窗口特征的代碼:script

15、function open1(urlnewwin=window.open(url,newwindow,fullscreen=1newwin.resizeTo(800,600newwin.moveTo(screen.width/0-800,screen.height/0-600/script其中,function open1(url定義了超鏈接的寫法。所以,我們?cè)趯戞溄拥牡刂窌r(shí),應(yīng)該這樣寫: javascript:open1(url。比如我要打開一個(gè)無(wú)窗口特征的新浪首頁(yè)就應(yīng)該在文字或圖片的超鏈接里這樣寫: javascript:open1(http:。當(dāng)然,括號(hào)內(nèi)也支持相對(duì)路徑。最后寫出來(lái)的格式

16、應(yīng)該是:scriptfunction open1(urlnewwin=window.open(url,newwindow,fullscreen=1newwin.resizeTo(800,600newwin.moveTo(screen.width/0-800,screen.height/0-600/scriptbody oncontextmenu=self.event.returnV alue=false onselectstart="return false"td width="100%" a href="javascript:open1(ma

17、in.htm,window.close("img border="0" src="pic/blank1.gif" style="position: absolute; left: 556; top: 142" width="169" height="57"/a/td/body這樣,我們就達(dá)到了打開無(wú)窗口邊的網(wǎng)頁(yè)了。并且,在這個(gè)網(wǎng)頁(yè)中,會(huì)自動(dòng)加入滾動(dòng)條,這樣,就不會(huì)像前面那樣看不到下面的內(nèi)容啦。最后我們要做的工作,就是把每一頁(yè),或者你認(rèn)為重要的關(guān)鍵的頁(yè)面進(jìn)行加密,就OK啦。怎樣對(duì)網(wǎng)頁(yè)的源

18、代碼進(jìn)行加密就不用我多說(shuō)了吧?網(wǎng)上到處都有,可以用工具,也可以自己寫一個(gè)htm文件來(lái)轉(zhuǎn)換。加密軟件,我推薦“Batch HTML Encryptor”,去google找吧。還有轉(zhuǎn)換加密網(wǎng)頁(yè)的代碼如下:HTMLHEADTITLE網(wǎng)頁(yè)加密解密/TITLEMETA http-equiv=Content-Type content="text/html; charset=gb2312"META content="MSHTML 6.00.2600.0" name=GENERA TOR!- 大地軟件工作室-LINKhref="style.css"

19、rel=stylesheetMETA content="Microsoft FrontPage 4.0" name=GENERATOR/HEADBODY bgColor=#ffffff leftMargin=0 topMargin=0 onload=initStyleElements(DIVstyle="LEFT: 139px; WIDTH: 106px; POSITION: absolute; TOP: 52px; HEIGHT: 36px"TABLE cellSpacing=0 cellPadding=0 width=760 align=center

20、 border=0!-DWLayoutTable-TBODYTRTD vAlign=top align=middle width=760 height=310DIV align=centerH2SCRIPT language=JavaScript!-var i=0;var ie=(document.all?1:0;var ns=(document.layers?1:0;function initStyleElements( /* Styles for Buttons Init */var c = document.pad;if (ie/c.text.style.backgroundColor=

21、"#DDDDDD"pileIt.style.backgroundColor="#C0C0A8"pileIt.style.cursor="hand"c.select.style.backgroundColor="#C0C0A8"c.select.style.cursor="hand"c.view.style.backgroundColor="#C0C0A8"c.view.style.cursor="hand"c.retur.style.backgroundC

22、olor="#C0C0A8"c.retur.style.cursor="hand"c.clear.style.backgroundColor="#C0C0A8"c.clear.style.cursor="hand"else return;/* Buttons Enlightment of "Compilation" panel */function LightOn(whatif (ie what.style.backgroundColor = #E0E0D0;else return;functi

23、on FocusOn(whatif (ie what.style.backgroundColor = #EBEBEB;else return;function LightOut(whatif (ie what.style.backgroundColor = #C0C0A8;else return;function FocusOff(whatif (ie what.style.backgroundColor = #DDDDDD;else return;/* Buttons Enlightment of "Compilation" panel */function genera

24、te( /* Generation of "Compilation" */code = document.pad.text.value;if (codedocument.pad.text.value=Compiling.Please wait!;setTimeout("compile(",1000;else alert(First enter something to compile and then press CompileIt function compile( /* The "Compilation" */document.p

25、ad.text.value=; compilation=escape(code; document.pad.text.value="scriptn!-ndocument.write(unescape(""+compilation+""n/-n/script " i+; if (i=1 alert("Page compiled 1 time!" else alert("Page compiled "+i+" times!" function selectCode( /* Sel

26、ecting "Compilation" for Copying */ if(document.pad.text.value.length0 document.pad.text.focus(; document.pad.text.select(; else alert(Nothing for be selected! function preview( /* Preview for the "Compilation" */ if(document.pad.text.value.length0 pr=window.open("",&qu

27、ot;Preview","scrollbars=1,menubar=1,status=1,width=700,height=320,left=50,top=110" pr.document.write(document.pad.text.value; else alert(Nothing for be previewed! function uncompile( /* Decompiling a "Compilation" */ if (document.pad.text.value.length0 source=unescape(docume

28、nt.pad.text.value; document.pad.text.value=""+source+"" else alert(You need compiled code to uncompile it! / - /SCRIPT BR B FONT color=#333333網(wǎng)頁(yè) HTML 源代碼加密解密器/FONT /B /H2 /DIV TABLE cellSpacing=0 borderColorDark=#000000 cellPadding=10 width=750 align=center borderColorLight=#ffff

29、ff border=2 TBODY TR TD DIV align=center BR將你的源代碼貼到編輯區(qū)域即可BR BR TABLE cellSpacing=0 cellPadding=0 width="100%" border=0 TBODY TR TD width="100%" !- Compilation Panel - FORM name=pad method=post align="center" /TEXTAREA BR BR BR 加 DIV align=center TEXTAREA style="WID

30、TH: 95%; BACKGROUND-COLOR: #ebebeb" name=text rows=11 cols=58 INPUT onmouseover=LightOn(this onclick=generate( onmouseout=LightOut(this type=button value= 密 name=compileIt INPUT onmouseover=LightOn(this onclick=selectCode( onmouseout=LightOut(this type=button value= 全 選 name=select INPUT onmouseover=LightOn(this onclick=preview( onmou

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論