萬盛學電腦網

 萬盛學電腦網 >> 網絡編程 >> asp編程 >> 對ASP腳本源代碼進行加密

對ASP腳本源代碼進行加密

   目前,ASP(Acive Server Pages)技術已風靡全球,在Internet上幾乎處處都能看到它的身影。它給開發商提供了基於腳本的直觀、快速、高效的應用開發手段,極大地提高了開發的效果。應用這種技術,不需要進行復雜的編程,就可以開發出專業的動態Web網站。

  凡事有利必有弊,由於由於ASP腳本是采用明文(plain text)方式來編寫出來的,所以開發人員辛辛苦苦開發出來的ASP應用程序,一旦發布到運行環境中去或交付用戶使用後,就很難保證這些“源代碼”不會被流傳出去。我們如何能保護我們開發出的ASP源代碼呢?

  在這裡我們采用微軟提供的一個加密腳本的程序:SCRENC.EXE,這個程序可以在筆者網站(http://www.zhengwei.net)上下載。這是一個運行在DOS PROMAPT的命令工具,它使腳本設計者可以對最終的腳本進行編碼,從而使 Web 主機和 Web 客戶不能查看或修改它們的源代碼。不過有一點需要注意的是加密後的程序要求用戶的游覽器必須使用Internet Explorer 5.0以上的版本。加完密後的腳本變成類似於如下的內容:

  腳本加密程序只對腳本代碼進行加密,文件的其他內容不動且以普通文本形式顯示。要使用腳本加密程序,以通常方法對文本進行開發和調試,然後使用該實用程序對最終的腳本進行加密。 腳本加密程序在源代碼中使用標記來標識加密開始的位置。

  對於 Visual Basic Scripting Edition (VBScript),如下示例顯示了如何使用編碼標記來顯示普通文本的版權信息:

  在 JScript 中,加密標記如下:

  當腳本加密程序被調用時,在開始標記前,腳本塊內的內容保持不變,而其他內容被加密。因此,如果開始標記被省略,則腳本編碼塊內的所有內容均被加密,但如果開始標記在腳本加密塊的最後,則不對任何內容進行加密。

  在編碼發生後。您應該知道 標記或 標記內包含有效的 HTML 和內嵌腳本塊。使用該格式的應用程序包括 Microsoft? Internet Information Services (IIS)。識別文件擴展名有 .asp、.asa 和 .cdx。

  HTML。該格式由一個包含有效的 HTML 和內嵌腳本塊的文本文件組成。使用該腳本格式編寫的應用程序包括 Microsoft FrontPage?, Microsoft? Visual InterDev? 和所有虛擬的 Web 設計器及浏覽器。識別文件擴展名有 .htm 和 .html。

  普通文本。該格式由只包含腳本而無兩端標記的文本文件組成。使用該腳本格式編寫的應用程序包括 Windows? Scripting Host (WSH) 和 Microsoft? Outlook?。 識別文件擴展名有 .js 和 .vbs,經加密後,分別變為 .jse 和 .vbe。

  腳本小程序。該格式由一個在 標記中包含有效腳本小程序的文本文件組成。識別文件擴展名有 .sct 和 .wsh。

  示例

  如下是使用腳本加密程序的一個例子以及對其結果的簡單解釋:

  對輸入文件 test.html 進行加密,生成輸出文件 encode.html,使用:

  screnc test.html encode.html

  對輸入文件 test.htm 進行加密,並用編碼後的輸出文件覆蓋輸入文件,使用:

  screnc /f test.htm

  對當前目錄中的所有 .ASP 文件進行加密,並把編碼後的輸出文件放在c:temp中,使用:

  screnc *.asp c:temp

  對當前目錄中的所有 .ASP 文件進行加密,並把編碼後的輸出文件放在c:temp中,使用:

  screnc /e asp *.* c:temp

  對輸入文件 test.htm 進行加密,並生成輸出文件 encode.htm,確保沒有指定語言屬性的腳本塊使用 VBScript,使用:

  screnc /l vbscript test.htm encode.htm

  對當前目錄中的所有腳本小程序文件進行加密,並不經信息顯示就用編碼後的文件覆蓋這些文件,使用:

  screnc /s /f *.sct

  要點 :經過編碼後,如果您改動加密後的文本,哪怕只改動一個字。腳本的完整性就會丟失,從而不能再使用。

copyright © 萬盛學電腦網 all rights reserved