1. <del id="uvx8x"></del>

      首頁(yè)>新聞資訊>網(wǎng)頁(yè)屏蔽(左右鍵,代碼等)的非JS方法

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

      眾所周知,要保護一個(gè)頁(yè)面,最基礎的就是要屏蔽右鍵。而現在網(wǎng)頁(yè)上用得最多的是function click(),即下面這段代碼:  


      〈script〉  

      function click(){  

      if(event.button==2){  

      alert( '本網(wǎng)站歡迎您 !!');  

      }  

      }  

      document.onmousedown=click  

      〈/script〉


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

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


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


      這里,定義了oncontextmenu。使得右鍵的值為false,起到了屏蔽右鍵的效果?,F在,再試試看剛才的破解方法,已經(jīng)不行了。左右鍵連擊已 經(jīng)不能再打開(kāi)右鍵菜單。不但是這個(gè),再試試看其他的方法。無(wú)論你怎樣的亂點(diǎn),右鍵都沒(méi)有用。因為在這個(gè)網(wǎng)頁(yè)里,右鍵已經(jīng)不存在了。對于一個(gè)不存在的功能 鍵,你又能做什么呢?


      但是,屏蔽了右鍵還不能解決問(wèn)題。如果我要復制一段文字,或是一張圖片。那么,把它選中后用ctrl+C 再 用 ctrl+V不就可以復制粘貼了嘛。對了,接下來(lái)要講的,就是屏蔽左鍵(什么?屏蔽左鍵?那這個(gè)網(wǎng)頁(yè)不就差不多廢掉了?別急,沒(méi)說(shuō)完呢,左鍵只有一項 功能是很討厭的)的選定功能。  


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


      〈body onselectstart="return false"〉  


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


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


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


      好,現在我們來(lái)看另一個(gè)問(wèn)題。大家都知道,在IE瀏覽器的菜單欄里的“查看”項里。有一個(gè)“查看源代碼”選項。這么一來(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)站標題〈/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)對方是沒(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è)頂部)處引用相對路徑下的top.htm網(wǎng)頁(yè)文件。而在main(也就是占據網(wǎng)頁(yè)大部分頁(yè)面的位置)處引 用相對路徑下的main.htm網(wǎng)頁(yè)文件。就這兩點(diǎn)是關(guān)鍵的,其他就不作解釋了,大家也都懂的。而上面所講的利用框架來(lái)隱藏源代碼的方法就是將要顯示頁(yè)面 放在main部分。而將header部分的大小設為0。但是這樣一來(lái),利用菜單欄里的查看源代碼,還是能查看到框架網(wǎng)頁(yè)的源代碼。只要看到這兩句,就知道 我們前面用的手法了。也就是說(shuō),只要將框架網(wǎng)頁(yè)的名字改為目標網(wǎng)頁(yè),便可以用相同的方法直接看到目標網(wǎng)頁(yè)的源代碼了。如:框架網(wǎng) 頁(yè):http://www.sina.com.cn/red.htm的源代碼如上,就可以改為Http://www.sina.com.cn /main.htm。這樣便可直接瀏覽被保護網(wǎng)頁(yè),屏蔽源代碼的效果還是沒(méi)有達到。  


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


      那么,我們就看看如何利用彈出窗口來(lái)去掉菜單欄。其實(shí),我們要做的,就是讓目標網(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后的括號里的第一個(gè)參數就是彈出窗口所顯示的網(wǎng)頁(yè)的位置,這里例子里是先對位置下的red.htm網(wǎng)頁(yè)文件。這時(shí)運行便 會(huì )談出一個(gè)顯示有red.htm的無(wú)菜單欄的窗口。好,我們的目的達到了。但是,這個(gè)窗口有一個(gè)缺陷,就是沒(méi)有滾動(dòng)條。因為在談出窗口的語(yǔ) 句:window.open里并沒(méi)有關(guān)于滾動(dòng)條的參數,(或是我不知道?歡迎高手來(lái)信指出),所以這里打開(kāi)的網(wǎng)頁(yè)建議只做成網(wǎng)頁(yè)的導航頁(yè)。  


      但是,用以上方法取消菜單欄,必須有一個(gè)第二方的網(wǎng)頁(yè)來(lái)作彈出的工作。那么,這個(gè)用來(lái)彈出窗口的網(wǎng)頁(yè)又成為了一個(gè)問(wèn)題的所在。舉例來(lái)說(shuō):假設,我們用一 個(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è)的代碼。


      那么,我們就可以用window.close來(lái)關(guān)閉窗口。代碼如下:  


      〈script〉  

      〈!--  

      window.close();  

      --〉  

      〈/script〉  



      那么,現在我們把兩部分代碼合并起來(lái)?,F在,得到的效果就是——直接有一個(gè)無(wú)菜單欄的窗口打開(kāi)了。因為計算機的處理速度很快,如果我們將這兩段代碼緊接著(zhù)寫(xiě)在一起,那么我們就只能看到新建的窗口。代碼如下:  


      〈script〉  

      〈!--  

      window.open("red.htm", "red", "resizable=yes,width=500,height=300");  

      window.close();  

      --〉  

      〈/script〉  


      而原來(lái)的窗口,已在我們無(wú)察覺(jué)的情況下關(guān)閉了。這樣,就別說(shuō)查看該網(wǎng)頁(yè)的源代碼了。這里,加入上面源代碼的網(wǎng)頁(yè)起了一個(gè)跳板的作用。但是,在這里,我們 要注意幾點(diǎn)。第一,用來(lái)做跳板的網(wǎng)頁(yè)不應該命名為index.htm。將它換一個(gè)名字,然后把默認首頁(yè)的名字改為更改過(guò)的名字。這樣,是瀏覽者能在輸入網(wǎng) 之后便自動(dòng)訪(fǎng)問(wèn)該頁(yè)。而又不致讓對方知道該頁(yè)的名稱(chēng)。如果不這樣做,就會(huì )導致對方猜測出該頁(yè)的位置。如:172.0.0.0/index.htm。這樣, 就可以通過(guò)在瀏覽器中提交:View-Source:Http://172.0.0.0/index.htm就可以看到該頁(yè)的源代碼了。  


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


      〈script〉  

      function open1(url){  

      newwin=window.open(url,'newwindow','fullscreen=1')  

      newwin.resizeTo(800,600)  

      newwin.moveTo(screen.width/0-800,screen.height/0-600)  

      }  

      〈/script〉


      其中,function open1(url)定義了超鏈接的寫(xiě)法。所以,我們在寫(xiě)鏈接的地址時(shí),應該這樣 寫(xiě):javascript:open1(url)。比如我要打開(kāi)一個(gè)無(wú)窗口特征的新浪首頁(yè)就應該在文字或圖片的超鏈接里這樣 寫(xiě):javascript:open1(‘http:www.sina.com.cn')。當然,括號內也支持相對路徑。最后寫(xiě)出來(lái)的格式應該是:  


      〈script〉  

      function open1(url){  

      newwin=window.open(url,'newwindow','fullscreen=1')  

      newwin.resizeTo(800,600)  

      newwin.moveTo(screen.width/0-800,screen.height/0-600)  

      }  

      〈/script〉  

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

      〈td width="100%"〉 〈a href="javascript:open1('main.htm'),window.close()"〉 〈img border="0" src="pic/blank1.gif" style="position: absolute; left: 556; top: 142" width="169" height="57"〉 〈/a〉〈/td〉  

      〈/body〉


      這樣,我們就達到了打開(kāi)無(wú)窗口邊的網(wǎng)頁(yè)了。并且,在這個(gè)網(wǎng)頁(yè)中,會(huì )自動(dòng)加入滾動(dòng)條,這樣,就不會(huì )像前面那樣看不到下面的內容啦。


      在线观看污视频网站,欧美精品一区二区久久久,日韩精品视频入口一区色,国产在线视频欧美亚综合

        1. <del id="uvx8x"></del>