導航:首頁 > 源碼編譯 > 關閉網站提示源碼

關閉網站提示源碼

發布時間:2023-11-28 05:19:42

① 請問如何屏蔽網頁中的查看源文件(源代碼)

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

〈script〉

function click(){

if(event.button==2){

alert( 』本網站歡迎您 !!』);

}

}

document.onmousedown=click

〈/script〉

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

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

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

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

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

那麼,如上所說,用JS來屏蔽是沒有用的,治標不治本的。那麼,我們就還用網頁的最基礎的語言:HTML來定義吧。還是老招數,定義〈body〉。這次用的參數是:onselectstart。就是左鍵選定的參數。代碼如下:

〈body onselectstart="return false"〉

這樣,左鍵選定功能就給輕易屏蔽了。原理和上面的一樣。現在,再用你的左鍵選擇任意內容把,已經沒有用了。自然也不能ctrl + C,ctrl +V了。那麼,現在我們來把這兩部分合並起來。徹底控制左右鍵!:

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

現在,左右鍵的問題總算是解決了吧。

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

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

〈html〉

〈head〉

〈meta HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=gb2312"〉

〈title〉本網站標題〈/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〉此網頁使用了框架,但您的瀏覽器不支持框架。〈/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(也就是網頁頂部)處引用相對路徑下的top.htm網頁文件。而在main(也就是占據網頁大部分頁面的位置)處引用相對路徑下的main.htm網頁文件。就這兩點是關鍵的,其他就不作解釋了,大家也都懂的。而上面所講的利用框架來隱藏源代碼的方法就是將要顯示頁面放在main部分。而將header部分的大小設為0。但是這樣一來,利用菜單欄里的查看源代碼,還是能查看到框架網頁的源代碼。只要看到這兩句,就知道我們前面用的手法了。也就是說,只要將框架網頁的名字改為目標網頁,便可以用相同的方法直接看到目標網頁的源代碼了。如:框架網頁:http://www.sina.com.cn/red.htm的源代碼如上,就可以改為http://www.sina.com.cn/main.htm。這樣便可直接瀏覽被保護網頁,屏蔽源代碼的效果還是沒有達到。

得到的永遠比失去的多!

2006-4-15 18:55 #1

UID 29169

會員 狒狒

用戶組 版主 [查看詳情]

性別 : 男
閱讀許可權 : 16
來自 : 湖北 武漢

狀態

帖子 555 [查看詳情]

精華 3
主題 96
回復 459

積分策略 積分 : 607
現金 1166 MMB 存款 1000 MMB

星級

失蹤 0 天 [查看詳情]

注冊 51 天
注冊 2006-3-9

| 今日免費申請會員!
--------------------------------------------------------------------------------
那麼,有些人就會想到,如果對方看不到框架網頁的源代碼。又何談去直接打開被保護網頁?對,這就是接下來我要講的。如果要一個頁面的菜單欄內的查看源代碼失去效用。那最簡單的辦法就是去掉菜單欄。而這一點是可以通過彈出窗口來實現的。之所以不選用超鏈接打開無菜單欄窗口是因為那樣會暴露目標地址,瀏覽者可以直接在瀏覽器中敲入地址,而繞過這個屏蔽的菜單欄。要使用超鏈接打開無菜單欄窗口,就必須在一個已受到源代碼屏蔽保障的網頁中使用相關鏈接。

那麼,我們就看看如何利用彈出窗口來去掉菜單欄。其實,我們要做的,就是讓目標網頁在一個廣告條中打開。這個代碼幾乎每個大型網站都會有的。代碼如下:

〈script〉

〈!--

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

--〉

〈/script〉

這里,在window.open後的括弧里的第一個參數就是彈出窗口所顯示的網頁的位置,這里例子里是先對位置下的red.htm網頁文件。這時運行便會談出一個顯示有red.htm的無菜單欄的窗口。好,我們的目的達到了。但是,這個窗口有一個缺陷,就是沒有滾動條。因為在談出窗口的語句:window.open里並沒有關於滾動條的參數,(或是我不知道?歡迎高手來信指出),所以這里打開的網頁建議只做成網頁的導航頁。

但是,用以上方法取消菜單欄,必須有一個第二方的網頁來作彈出的工作。那麼,這個用來彈出窗口的網頁又成為了一個問題的所在。舉例來說:假設,我們用一個index.htm來作彈出窗口的工作。也就是打開index.htm之後,會彈出red.htm的無菜單欄窗口。前面我們也提到了,如果知道了一個網頁的地址後,無論這個網頁是否隱藏在無菜單欄之下,你都能看到它的源代碼。那麼,不讓這個red.htm的地址暴露也就成了解決這個問題的關鍵。但是,只要這個index.htm被打開,就可以看到源代碼。但是,不妨反過來想想,如果我們把index.htm給關起來呢?只要在瀏覽者沒有來得及查看index.htm之前將它關閉,就能保住它的源代碼了。那麼,在這個index.htm里就有得做些文章了。

那就是,添加關閉網頁的代碼。

那麼,我們就可以用window.close來關閉窗口。代碼如下:

〈script〉

〈!--

window.open();

--〉

〈/script〉

那麼,現在我們把兩部分代碼合並起來。現在,得到的效果就是——直接有一個無菜單欄的窗口打開了。因為計算機的處理速度很快,如果我們將這兩段代碼緊接著寫在一起,那麼我們就只能看到新建的窗口。代碼如下:

〈script〉

〈!--

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

window.close();

--〉

〈/script〉

而原來的窗口,已在我們無察覺的情況下關閉了。這樣,就別說查看該網頁的源代碼了。這里,加入上面源代碼的網頁起了一個跳板的作用。但是,在這里,我們要注意幾點。第一,用來做跳板的網頁不應該命名為index.htm。將它換一個名字,然後把默認首頁的名字改為更改過的名字。這樣,是瀏覽者能在輸入網之後便自動訪問該頁。而又不致讓對方知道該頁的名稱。如果不這樣做,就會導致對方猜測出該頁的位置。如:172.0.0.0/index.htm。這樣,就可以通過在瀏覽器中提交:View-Source:http://172.0.0.0/index.htm就可以看到該頁的源代碼了。

在屏蔽掉了菜單欄和工具欄之後,我們想,如果沒有了最上方的窗口條該多好呢?下面我們要做的事情,有前提,就是在上面所說的在利用跳板頁面打開一個無菜單欄的窗口之後。我們要做什麼呢?就是讓我們顯示網站內容的窗口只顯示內容,(是啊,網站不就是給別人瀏覽的嗎?要瀏覽器和windows的那麼多功能做什麼呀……)只要內容,其餘一律去掉。我們就可以通過一段java
script來完成。下面這段代碼就是用來定義無任何窗口特徵的代碼:

〈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)定義了超鏈接的寫法。所以,我們在寫鏈接的地址時,應該這樣寫:java script:open1(url)。比如我要打開一個無窗口特徵的新浪首頁就應該在文字或圖片的超鏈接里這樣寫:java
script:open1(『http:www.sina.com.cn』)。當然,括弧內也支持相對路徑。最後寫出來的格式應該是:

〈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="java script: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〉

這樣,我們就達到了打開無窗口邊的網頁了。並且,在這個網頁中,會自動加入滾動條,這樣,就不會像前面那樣看不到下面的內容啦。

最後我們要做的工作,就是把每一頁,或者你認為重要的關鍵的頁面進行加密,就OK啦。怎樣對網頁的源代碼進行加密就不用我多說了吧?網上到處都有,可以用工具,也可以自己寫一個htm文件來轉換。加密軟體,我推薦「Batch
HTML Encryptor」,去google找吧。還有轉換加密網頁的代碼如下:

〈HTML〉〈HEAD〉〈TITLE〉網頁加密解密〈/TITLE〉

〈META http-equiv=Content-Type content="text/html; charset=gb2312"〉

〈META content="MSHTML 6.00.2600.0" name=GENERATOR〉〈!-- 大地軟體工作室--〉〈LINK

href="style.css" rel=stylesheet〉

〈META content="Microsoft FrontPage 4.0" name=GENERATOR〉

〈/HEAD〉

〈BODY bgColor=#ffffff leftMargin=0 topMargin=0 onload=initStyleElements()〉

〈DIV

style="LEFT: 139px; WIDTH: 106px; POSITION: absolute; TOP: 52px; HEIGHT:
36px"〉

〈TABLE cellSpacing=0 cellPadding=0 width=760 align=center border=0〉〈!--DWLayoutTable--〉

〈TBODY〉

〈TR〉

〈TD vAlign=top align=middle width=760 height=310〉

〈DIV align=center〉

〈H2〉

〈SCRIPT language=java script〉

〈!--

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="#DDDDDD";

c.compileIt.style.backgroundColor="#C0C0A8";

c.compileIt.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.backgroundColor="#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(what)

{

if (ie) what.style.backgroundColor = 』#E0E0D0』;

else return;

}

function FocusOn(what)

{

if (ie) what.style.backgroundColor = 』#EBEBEB』;

else return;

}

function LightOut(what)

{

if (ie) what.style.backgroundColor = 』#C0C0A8』;

else return;

}

function FocusOff(what)

{

if (ie) what.style.backgroundColor = 』#DDDDDD』;

else return;

}

/* Buttons Enlightment of "Compilation" panel */

function generate() /* Generation of "Compilation" */

{

code = document.pad.text.value;

if (code)

{

document.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.pad.text.value=』』;

compilation=escape(code);

document.pad.text.value="〈script〉\n〈!--\ndocument.write(unescape(\""+compilation+"\"));\n//--〉\n〈\/script〉";

i++;

if (i=1) alert("Page compiled 1 time!");

else alert("Page compiled "+i+" times!");

}

function selectCode() /* Selecting "Compilation" for Copying */

{

if(document.pad.text.value.length〉0)

{

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.length〉0)

{

pr=window.open("","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.length〉0)

{

source=unescape(document.pad.text.value);

document.pad.text.value=""+source+"";

}

else alert(』You need compiled code to uncompile it!』)

}

// --〉

〈/SCRIPT〉

〈BR〉〈B〉〈FONT color=#333333〉網頁HTML源代碼加密解密器〈/FONT〉〈/B〉〈/H2〉〈/DIV〉

〈TABLE cellSpacing=0 borderColorDark=#000000 cellPadding=10 width=750

align=center borderColorLight=#ffffff border=2〉

〈TBODY〉

〈TR〉

〈TD〉

〈DIV align=center〉〈BR〉將你的源代碼貼到編輯區域即可〈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"〉

〈DIV align=center〉〈TEXTAREA style="WIDTH: 95%; BACKGROUND-COLOR: #ebebeb"
name=text rows=11 cols=58〉〈/TEXTAREA〉

〈BR〉〈BR〉〈BR〉〈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() onmouseout=LightOut(this)
type=button value=預覽 name=view〉

〈INPUT onmouseover=LightOn(this) onclick=uncompile() onmouseout=LightOut(this)
type=button value=解密 name=retur〉

〈INPUT onmouseover=LightOn(this) onmouseout=LightOut(this) type=reset value=清除
name=clear〉

〈/DIV〉〈/FORM〉〈!-- Compilation Panel --〉〈/TD〉〈/TR〉〈/TBODY〉〈/TABLE〉〈/DIV〉〈/TD〉〈/TR〉〈/TBODY〉〈/TABLE〉

〈DIV align=center〉〈BR〉〈/DIV〉

〈DIV align=center〉〈/DIV〉 〈/TD〉〈/TR〉〈/TBODY〉〈/TABLE〉

〈/DIV〉

〈DIV〉〈/DIV〉〈/BODY〉〈/HTML〉

總結一下……按我的思路,屏蔽網頁源代碼主要分為以下幾個步驟:

1. 做一個網頁跳板,彈出要保護的廣告條狀頁面,並將自身關閉,以避免泄露需保護網頁的地址。

2. 由於上述條件屏蔽了廣告條內網頁的源代碼,所以可以用這個網頁作為歡迎頁。

3. 在歡迎頁中,利用java script以超連接的形式來打開無窗口邊的新窗口顯示網站內容。

4. 對每一個頁面或者對重要的關鍵的頁面進行源代碼加密,為源代碼加一把鎖。(有些人說對源代碼進行加密沒有用,但是我覺得要使用另類點的加密方法就可以了,比如軟體的加密方法就很普通。但是用我自己寫的htm文件加密的源代碼,一般軟體是不能進行解密的。大家有興趣的話可以試試。)

5. 最後不得不提的就是windows網頁臨時文件夾了,那裡面會把源代碼紀錄的。但是不用怕,加入一種代碼,就可以使windows不下載網頁的源代碼,直接瀏覽。可以去找找。

有些東西要注意的:

1. 在文中所說的自動關閉網頁的語句:window.close()有一個弊病。就是會在關閉窗口之前詢問是否關閉窗口,如果選擇否的話目的還是達不到。

2. 以上一切都只對IE瀏覽器有效用,如果用別的瀏覽器來瀏覽,就有可能出現屏蔽不成功的現象。

3. 關於網頁源代碼屏蔽,一直以來是可望而不可及的。我只是把思路寫下來,具體實現,還是要靠大家自己研究的啦。

② 怎麼清除網站中的彈窗代碼急急急!!

常見掛馬方法:
1、是直接在網站模板頁底部添加一段js代碼,用div把展現位置定位在網站的最左上角,然後鏈接文本顏色設置成背景色

2、論壇「首頁模板」位置:查看經常被改寫模板,給網站添加N多的垃圾廣告頁面
/abcug/web/template/default/forum/discuz.htm

如何做到預防或者解決自己的網站被掛黑鏈的問題呢?
1)、經常查看網站的源代碼
右鍵,有一個「查看源文件」的選項

2)、使用工具「網站死鏈檢測」功能:當你發現有未知名的鏈接時,馬上採取相關措施,刪除此鏈接

3)使用FTP工具查看網站文件的修改時間

4)經常修改網站ftp的用戶名和密碼:我們需要設置復雜一點的密碼,可以設置為大寫、小寫、標點符號相結合的密碼,修改下至少可以安全一些

5)使用站長工具里的「同IP站點查詢」功能

通過這個工具,你可以查詢到跟你網站在同一伺服器的部分網站,如果你自己的網站被掛黑鏈了,那麼你在查一下同一伺服器的其它網站,當你查
到其他的某個網站也有被掛黑鏈的時候,這時候我們就可以懷疑到伺服器安全的問題了,而不是自己網站程序的漏洞問題,現在要做的事,就是馬上聯系服務商,
讓他詳細做一下伺服器安全策略。

6)換永不被掛黑鏈的主機 有這個功能的
解答員:ABC-UG論壇 回答

③ 如何禁止查看網頁源代碼

JS禁止查看網頁源代碼的簡單實現方法

在項目開發中有時會遇到不想讓別人輕易查看到網站的源代碼信息,我們有多種方法可以輕保護自己的網站源碼。下面會介紹三種使用JavaScript來保護自己的網站源碼的方法:

最常見查看網站源碼的無非有這四種:


<!DOCTYPE html>

<html>

<head>

<meta charset="utf-8">

<title>JS禁止查看網頁源代碼的簡單實現方法</title>

</head>

<body>

<script type="text/javascript">

window.onload = function(){

//屏蔽鍵盤事件

document.onkeydown = function (){

var e = window.event || arguments[0];

//F12

if(e.keyCode == 123){

return false;

//Ctrl+Shift+I

}else if((e.ctrlKey) && (e.shiftKey) && (e.keyCode == 73)){

return false;

//Shift+F10

}else if((e.shiftKey) && (e.keyCode == 121)){

return false;

//Ctrl+U

}else if((e.ctrlKey) && (e.keyCode == 85)){

return false;

}

};

//屏蔽滑鼠右鍵

document.oncontextmenu = function (){

return false;

}

}


</script>

</body>

</html>

閱讀全文

與關閉網站提示源碼相關的資料

熱點內容
華三交換機保存命令 瀏覽:597
命令方塊怎麼調鍵盤 瀏覽:841
不把密碼存在伺服器上怎麼辦 瀏覽:398
怎麼讓指令方塊的命令消失 瀏覽:543
用單片機做plc 瀏覽:404
雲伺服器進入子目錄命令 瀏覽:795
伺服器機櫃如何配電 瀏覽:578
怎麼刪除iphone資源庫里的app 瀏覽:940
pdf魚 瀏覽:648
單片機pcf8591什麼作用 瀏覽:805
sql命令學院 瀏覽:283
加密軟體在電腦那個盤 瀏覽:988
android獲取外部存儲 瀏覽:573
怎麼查自己家的伺服器地址 瀏覽:858
編程c語言工作好不好 瀏覽:569
單片機焊接地怎麼連接 瀏覽:694
游戲源碼怎麼抓 瀏覽:216
程序員幫大家引走怪物 瀏覽:16
手機網頁小游戲源碼 瀏覽:513
戰地一伺服器怎麼設置管理員 瀏覽:396