一区二区久久-一区二区三区www-一区二区三区久久-一区二区三区久久精品-麻豆国产一区二区在线观看-麻豆国产视频

網(wǎng)頁(yè)屏蔽(左右鍵,代碼等)的非JS方法第1/2頁(yè)

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



〈script〉 
function click(){ 
if(event.button==2){ 
alert( '本網(wǎng)站歡迎您 !!'); 


document.onmousedown=click 
〈/script〉


  但是這種屏蔽方法的破解方法也是眾所周知的。那就是連續(xù)單擊鼠標(biāo)左鍵和右鍵便又可以看到右鍵菜單了。但是,我見(jiàn)過(guò)一種很好的屏蔽右鍵的方法。它的原理和上面所說(shuō)的不同。它并不是用JS來(lái)編寫(xiě)的腳本,而是利用定義網(wǎng)頁(yè)屬性來(lái)起到限制的作用。而且,在屏蔽中應(yīng)該盡量的避開(kāi)使用JS腳本。因?yàn)橹灰獮g覽者把IE里的Javascript腳本禁用了。那么一切屏蔽都白費(fèi)。 

  那么繼續(xù)說(shuō)那種通過(guò)修改網(wǎng)頁(yè)屬性的屏蔽右鍵的方法。這種方法利用了HTML里的〈body〉來(lái)作修改,它只有以下短短的一行代碼: 


〈body oncontextmenu=self.event.returnValue=false〉


  這里,定義了oncontextmenu。使得右鍵的值為false,起到了屏蔽右鍵的效果。現(xiàn)在,再試試看剛才的破解方法,已經(jīng)不行了。左右鍵連擊已經(jīng)不能再打開(kāi)右鍵菜單。不但是這個(gè),再試試看其他的方法。無(wú)論你怎樣的亂點(diǎn),右鍵都沒(méi)有用。因?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è)不就差不多廢掉了?別急,沒(méi)說(shuō)完呢,左鍵只有一項(xiàng)功能是很討厭的)的選定功能。 

  那么,如上所說(shuō),用JS來(lái)屏蔽是沒(méi)有用的,治標(biāo)不治本的。那么,我們就還用網(wǎng)頁(yè)的最基礎(chǔ)的語(yǔ)言:HTML來(lái)定義吧。還是老招數(shù),定義〈body〉。這次用的參數(shù)是:onselectstart。就是左鍵選定的參數(shù)。代碼如下: 


〈body onselectstart="return false"〉 


  這樣,左鍵選定功能就給輕易屏蔽了。原理和上面的一樣。現(xiàn)在,再用你的左鍵選擇任意內(nèi)容把,已經(jīng)沒(méi)有用了。自然也不能ctrl + C,ctrl +V了。那么,現(xiàn)在我們來(lái)把這兩部分合并起來(lái)。徹底控制左右鍵!: 


〈body oncontextmenu=self.event.returnValue=false onselectstart="return false"〉 


  現(xiàn)在,左右鍵的問(wèn)題總算是解決了吧。 

  好,現(xiàn)在我們來(lái)看另一個(gè)問(wèn)題。大家都知道,在IE瀏覽器的菜單欄里的“查看”項(xiàng)里。有一個(gè)“查看源代碼”選項(xiàng)。這么一來(lái),雖然我們屏蔽了右鍵里的查看源代碼。但是,只要用菜單欄里的查看源代碼,還是可以看到源代碼的。這可怎么辦呢? 

  我最初的想法是用框架來(lái)避開(kāi)源代碼的查看。也就是說(shuō),只要一個(gè)網(wǎng)頁(yè)是嵌在框架里的,那么在菜單欄里選擇查看源代碼查看到的只是框架網(wǎng)頁(yè)的源代碼。一般格式如下: 


〈html〉 
〈head〉 
〈meta HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=gb2312"〉 
〈title〉本網(wǎng)站標(biāo)題〈/title〉 
〈/head〉 

〈frameset 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" scrolling="auto" target="_self"〉 
〈noframes〉 
〈body〉 

〈p〉此網(wǎng)頁(yè)使用了框架,但您的瀏覽器不支持框架。〈/p〉 

〈/body〉 
〈/noframes〉 
〈/frameset〉 

〈/html〉


  這樣看起來(lái)對(duì)方是沒(méi)有直接看到你的源代碼了。但是,如果一個(gè)人要看你的源代碼,那他八成是能看懂的。如果懂一點(diǎn)HTML的話(huà),都能看出這兩句是什么意思: 


〈frame name="header" scrolling="no" noresize target="main" src="top.htm"〉 
〈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),利用菜單欄里的查看源代碼,還是能查看到框架網(wǎng)頁(yè)的源代碼。只要看到這兩句,就知道我們前面用的手法了。也就是說(shuō),只要將框架網(wǎng)頁(yè)的名字改為目標(biāo)網(wǎng)頁(yè),便可以用相同的方法直接看到目標(biāo)網(wǎng)頁(yè)的源代碼了。如:框架網(wǎng)頁(yè):http://www.sina.com.cn/red.htm的源代碼如上,就可以改為Http://www.sina.com.cn/main.htm。這樣便可直接瀏覽被保護(hù)網(wǎng)頁(yè),屏蔽源代碼的效果還是沒(méi)有達(dá)到。 

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

  那么,我們就看看如何利用彈出窗口來(lái)去掉菜單欄。其實(shí),我們要做的,就是讓目標(biāo)網(wǎng)頁(yè)在一個(gè)廣告條中打開(kāi)。這個(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è)缺陷,就是沒(méi)有滾動(dòng)條。因?yàn)樵谡劤龃翱诘恼Z(yǔ)句:window.open里并沒(méi)有關(guān)于滾動(dòng)條的參數(shù),(或是我不知道?歡迎高手來(lái)信指出),所以這里打開(kā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)作彈出窗口的工作。也就是打開(kā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è)index.htm被打開(kāi),就可以看到源代碼。但是,不妨反過(guò)來(lái)想想,如果我們把index.htm給關(guān)起來(lái)呢?只要在瀏覽者沒(méi)有來(lái)得及查看index.htm之前將它關(guān)閉,就能保住它的源代碼了。那么,在這個(gè)index.htm里就有得做些文章了。 

  那就是,添加關(guān)閉網(wǎng)頁(yè)的代碼。

JavaScript技術(shù)網(wǎng)頁(yè)屏蔽(左右鍵,代碼等)的非JS方法第1/2頁(yè),轉(zhuǎn)載需保留來(lái)源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 四虎影视永久在线精品免费 | 午夜综合网 | 99国产高清久久久久久网站 | 99精品国产福利在线观看 | 久久婷婷五色综合夜啪 | 视频亚洲一区 | 国产精品久久久久久久久齐齐 | 色奇吧亚洲国产成人精品 | 国内精品手机在线观看视频 | 久久精品国产线看观看亚洲 | 日韩中文字幕亚洲无线码 | 久久香蕉国产精品一区二区三 | 怡红院美国分院一区二区 | baoyu168成人免费视频 | 欧美精品第一页 | 久久综合加勒比 | 怡红院精品视频 | 热综合一本伊人久久精品 | 国产福利小视频在线播放观看 | 国产青草视频 | 激情小说亚洲图片 | 91久久综合九色综合欧美98 | 中文字幕在线国产 | 色呦呦免费观看 | 天天舔天天操 | 久久久噜久噜久久综合 | 青青自拍视频一区二区三区 | 精品一区二区三区五区六区七区 | 日韩在线一区二区三区免费视频 | 激情五月激情综合 | 美女黄页视频 | 久久伊人精品热在75 | 91精品人成在线观看 | 91精品在线国产 | 美女被男人狂躁免费视频 | 69精品视频 | 久99久热只有精品国产男同 | 亚洲国产爱 | 亚洲天堂成人在线观看 | 好吊日在线观看 | 亚洲精品影院 |