目前,asp(acive server pages)技術(shù)已風(fēng)靡全球,在internet上幾乎處處都能看到它的身影。它給開(kāi)發(fā)商提供了基于腳本的直觀、快速、高效的應(yīng)用開(kāi)發(fā)手段,極大地提高了開(kāi)發(fā)的效果。應(yīng)用這種技術(shù),不需要進(jìn)行復(fù)雜的編程,就可以開(kāi)發(fā)出專(zhuān)業(yè)的動(dòng)態(tài)web網(wǎng)站。
凡事有利必有弊,由于由于asp腳本是采用明文(plain text)方式來(lái)編寫(xiě)出來(lái)的,所以開(kāi)發(fā)人員辛辛苦苦開(kāi)發(fā)出來(lái)的asp應(yīng)用程序,一旦發(fā)布到運(yùn)行環(huán)境中去或交付用戶使用后,就很難保證這些“源代碼”不會(huì)被流傳出去。我們?nèi)绾文鼙Wo(hù)我們開(kāi)發(fā)出的asp源代碼呢?
在這里我們采用微軟提供的一個(gè)加密腳本的程序:screnc.exe,這個(gè)程序可以在筆者網(wǎng)站()上下載。這是一個(gè)運(yùn)行在dos promapt的命令工具,它使腳本設(shè)計(jì)者可以對(duì)最終的腳本進(jìn)行編碼,從而使 web 主機(jī)和 web 客戶不能查看或修改它們的源代碼。不過(guò)有一點(diǎn)需要注意的是加密后的程序要求用戶的游覽器必須使用internet explorer 5.0以上的版本。加完密后的腳本變成類(lèi)似于如下的內(nèi)容:
腳本加密程序只對(duì)腳本代碼進(jìn)行加密,文件的其他內(nèi)容不動(dòng)且以普通文本形式顯示。要使用腳本加密程序,以通常方法對(duì)文本進(jìn)行開(kāi)發(fā)和調(diào)試,然后使用該實(shí)用程序?qū)ψ罱K的腳本進(jìn)行加密。 腳本加密程序在源代碼中使用標(biāo)記來(lái)標(biāo)識(shí)加密開(kāi)始的位置。
對(duì)于 visual basic scripting edition (vbscript),如下示例顯示了如何使用編碼標(biāo)記來(lái)顯示普通文本的版權(quán)信息:
在 jscript 中,加密標(biāo)記如下:
當(dāng)腳本加密程序被調(diào)用時(shí),在開(kāi)始標(biāo)記前,腳本塊內(nèi)的內(nèi)容保持不變,而其他內(nèi)容被加密。因此,如果開(kāi)始標(biāo)記被省略,則腳本編碼塊內(nèi)的所有內(nèi)容均被加密,但如果開(kāi)始標(biāo)記在腳本加密塊的最后,則不對(duì)任何內(nèi)容進(jìn)行加密。
在編碼發(fā)生后。您應(yīng)該知道 標(biāo)記或 標(biāo)記內(nèi)包含有效的 html 和內(nèi)嵌腳本塊。使用該格式的應(yīng)用程序包括 microsoft? internet information services (iis)。識(shí)別文件擴(kuò)展名有 .asp、.asa 和 .cdx。
html。該格式由一個(gè)包含有效的 html 和內(nèi)嵌腳本塊的文本文件組成。使用該腳本格式編寫(xiě)的應(yīng)用程序包括 microsoft frontpage?, microsoft? visual interdev? 和所有虛擬的 web 設(shè)計(jì)器及瀏覽器。識(shí)別文件擴(kuò)展名有 .htm 和 .html。
普通文本。該格式由只包含腳本而無(wú)兩端標(biāo)記的文本文件組成。使用該腳本格式編寫(xiě)的應(yīng)用程序包括 windows? scripting host (wsh) 和 microsoft? outlook?。 識(shí)別文件擴(kuò)展名有 .js 和 .vbs,經(jīng)加密后,分別變?yōu)?.jse 和 .vbe。
腳本小程序。該格式由一個(gè)在 標(biāo)記中包含有效腳本小程序的文本文件組成。識(shí)別文件擴(kuò)展名有 .sct 和 .wsh。
示例
如下是使用腳本加密程序的一個(gè)例子以及對(duì)其結(jié)果的簡(jiǎn)單解釋?zhuān)?/P>
對(duì)輸入文件 test.html 進(jìn)行加密,生成輸出文件 encode.html,使用:
screnc test.html encode.html
對(duì)輸入文件 test.htm 進(jìn)行加密,并用編碼后的輸出文件覆蓋輸入文件,使用:
screnc /f test.htm
對(duì)當(dāng)前目錄中的所有 .asp 文件進(jìn)行加密,并把編碼后的輸出文件放在c:temp中,使用:
screnc *.asp c:temp
對(duì)當(dāng)前目錄中的所有 .asp 文件進(jìn)行加密,并把編碼后的輸出文件放在c:temp中,使用:
screnc /e asp *.* c:temp
對(duì)輸入文件 test.htm 進(jìn)行加密,并生成輸出文件 encode.htm,確保沒(méi)有指定語(yǔ)言屬性的腳本塊使用 vbscript,使用:
screnc /l vbscript test.htm encode.htm
對(duì)當(dāng)前目錄中的所有腳本小程序文件進(jìn)行加密,并不經(jīng)信息顯示就用編碼后的文件覆蓋這些文件,使用:
screnc /s /f *.sct
要點(diǎn) :經(jīng)過(guò)編碼后,如果您改動(dòng)加密后的文本,哪怕只改動(dòng)一個(gè)字。腳本的完整性就會(huì)丟失,從而不能再使用。
更多信息請(qǐng)查看IT技術(shù)專(zhuān)欄