国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 網(wǎng)站 > WEB開發(fā) > 正文

關(guān)于網(wǎng)頁源代碼屏蔽(1)

2024-04-27 13:52:52
字體:
供稿:網(wǎng)友
   很早就想寫一篇關(guān)于網(wǎng)頁源代碼屏蔽的文章。是因為經(jīng)常編出些JS腳本的之后,在沾沾自喜的同時,也在擔(dān)心源代碼會被人家看到,盜用我的腳本。所以一直以來,我都在盡力維護(hù)我的網(wǎng)頁源代碼的安全。雖然目前還沒有找到完全安全的屏蔽方法(也就是說,這些方法在我想出來的同時,自己已經(jīng)知道其弱點和破解方法了),但是,我這里有很多屏蔽的思路,來總結(jié)一下。

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

<script>
function click(){
   if(event.button==2){
             alert( '本網(wǎng)站歡迎您 !!');
   }
}
document.onmousedown=click
</script>

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

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

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

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

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

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

〈body onselectstart="return false"〉

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

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

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

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

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

〈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)頁使用了框架,但您的瀏覽器不支持框架。〈/p〉

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

〈/html〉

  這樣看起來對方是沒有直接看到你的源代碼了。但是,如果一個人要看你的源代碼,那他八成是能看懂的。如果懂一點HTML的話,都能看出這兩句是什么意思:

 〈frame name="header" scrolling="no" noresize target="main" src="top.htm"〉
 〈frame name="main" src="main.htm" scrolling="auto" target="_self"〉

  這兩句的意思就是:在header(也就是網(wǎng)頁頂部)處引用相對路徑下的top.htm網(wǎng)頁文件。而在main(也就是占據(jù)網(wǎng)頁大部分頁面的位置)處引用相對路徑下的main.htm網(wǎng)頁文件。就這兩點是關(guān)鍵的,其他就不作解釋了,大家也都懂的。而上面所講的利用框架來隱藏源代碼的方法就是將要顯示頁面放在main部分。而將header部分的大小設(shè)為0。但是這樣一來,利用菜單欄里的查看源代碼,還是能查看到框架網(wǎng)頁的源代碼。只要看到這兩句,就知道我們前面用的手法了。也就是說,只要將框架網(wǎng)頁的名字改為目標(biāo)網(wǎng)頁,便可以用相同的方法直接看到目標(biāo)網(wǎng)頁的源代碼了。如:框架網(wǎng)頁:http://www.sina.com.cn/red.htm的源代碼如上,就可以改為Http://www.sina.com.cn/main.htm。這樣便可直接瀏覽被保護(hù)網(wǎng)頁,屏蔽源代碼的效果還是沒有達(dá)到。
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 台山市| 黎城县| 称多县| 西乌珠穆沁旗| 昔阳县| 静海县| 商水县| 山西省| 若尔盖县| 甘谷县| 墨竹工卡县| 五莲县| 望谟县| 丹寨县| 邹平县| 武定县| 广水市| 乐平市| 嵊州市| 宜兰县| 汉川市| 岑巩县| 镇宁| 望江县| 牟定县| 乌审旗| 江川县| 平塘县| 安仁县| 明溪县| 大石桥市| 准格尔旗| 烟台市| 江安县| 九寨沟县| 常熟市| 宜君县| 修文县| 平昌县| 大理市| 昭平县|