ASP原碼加密工具介紹

來源:互聯網
上載者:User
加密 總是會有很多方法暴露ASP的原程式,造成資料庫的密碼 路徑都可以輕易被其他人搞到,所以對ASP程式實行加密處理是個不錯的解決方案。下面來介紹一個工具如果大家感興趣可以來我首頁下載。
minisql.yeah.net 熏衣草樂園
指令碼編碼器是一種簡單的命令列工具,它使指令碼設計者可以對最終的指令碼進行編碼,從而使 Web 主機和 Web 客戶不能查看或修改它們的原始碼。注意,這種編碼只能防止別人在無意中查看到您的代碼,並不能防止蓄意駭客查看您的編碼內容及其方法。
Web 設計者在 Web 頁和伺服器的 Active Sever Pages (.ASP)上編寫指令碼,足以在網頁上添加您能想象到的所有功能。此外,Windows? Scripting Host(WSH) 和許多其他的應用程式也進行指令碼編寫,並取得了同樣好的效果。

到目前為止,使用指令碼的一個缺點是它既不能保護指令碼內的智慧財產權,又不能保證使用者所看到的就是您所創造的成果。聰明的運演算法則和精心設計的指令碼總是能完全被看見,因為它們是作為普通文字儲存的 。因此,每一級的指令碼使用者都能看到指令碼設計者的原始編碼,並能取出、修改它們,從而據為己有。顯然,如果您正想在某一競爭激烈的領域佔上風,這對您是非常不利的。

隨著指令碼小程式的引進,保護原始碼變得更加重要。指令碼設計者都希望使用這一簡單的組件階層,但卻並不一定想與他人共用自己的原始碼。只要指令碼經編碼後,改變結果檔案的任一部分都會使得指令碼 無法執行,這樣,就保證了您編碼指令碼的絕對完整。

指令碼編碼器只對指令碼代碼進行編碼,檔案的其他內容不動且以普通文本形式顯示。要使用指令碼編碼器,以通常方法對文本進行開發和調試,然後使用該公用程式對最終的指令碼進行編碼。 指令碼編碼器在原始碼中使用標記來標識編碼開始的位置。
對於 Visual Basic? Scripting Edition (VBScript),如下樣本顯示了如何使用編碼標記來顯示普通文本的著作權資訊:


<SCRIPT LANGUAGE="VBScript">
'Copyright? 1998. XYZ Productions. All rights reserved.
'**開始編碼**
' 這裡放您的代碼.
</SCRIPT>

在 JScript? 中,編碼標記如下:

<SCRIPT LANGUAGE="JScript">
//Copyright? 1998. ZYX Productions. All rights reserved.
//**開始編碼**
// 這裡放您的代碼.
</SCRIPT>

當指令碼編碼器被調用時,在開始標記前,指令碼塊內的內容保持不變,而其他內容被編碼。因此,如果開始標記被省略,則指令碼編碼塊內的所有內容均被編碼,但如果開始標記在指令碼編碼塊的最後,則不對任 何內容進行編碼。
在編碼發生後。您應該知道 <SCRIPT> 標記中的語言指示符已改變。對於 VBScript,新的指示符如下:

<SCRIPT LANGUAGE="VBScript.Encode">

對於 JScript (或 JavaScript),新的指示符如下:
<SCRIPT LANGUAGE="JScript.Encode">

指令碼編碼器在如下所示的 MS-DOS 命令列或“運行”對話方塊中被調用:
SRCENC [switches] inputfile outputfile

描述
對指令碼編寫原始碼進行編碼,使其不會輕易地被使用者查看或修改。

文法
SCRENC [/s] [/f] [/xl] [/l defLanguage ] [/e defExtension] inputfile outputfile

指令碼編碼器文法的組成部分如下:

部分 描述
/s 可選的。 開關,它指定指令碼編碼器的工作狀態是靜態,即產生無螢幕輸出。如省略,預設為提供冗餘輸出。
/f 可選的。指定輸入檔案將被輸出檔案覆蓋。 注意,該選項會破壞您原來的輸入原始碼。如省略,輸出檔案不會被覆蓋。

/xl 可選的。指定不把 @language 偽指令添加到 .ASP 檔案頂部。如省略,@language 指令添加到所有的 .ASP 檔案中。
/l defLanguage 可選的。指定在編碼過程中使用的預設指令碼編寫語言 (JScript? 或 VBScript)。被編碼檔案中的指令碼塊如不包含語言屬性,即被認為是由指定語言寫成。 如省略,JScript 是 HTML 頁和指令碼小程式的預設語言,VBScript 是動態網頁的預設語言。對於普通文字檔,由副檔名 ( .js 或 .vbs)決定預設指令碼編寫語言。
/e defExtension 可選的。把輸入檔案與一個特定的檔案類型相關聯。當輸入檔案的副檔名不能明顯顯示出檔案的類型時,即,當輸入副檔名不是可識別的副檔名,但檔案內容又可以歸為可識別的類型時,使用該開關。 該選項無預設值。如果遇到一個帶不可識別的副檔名的檔案,且該選項未被指定,則指令碼編碼器不能處理該不可識別的檔案。可識別的副檔名有 asa、asp、cdx、htm、html、js、sct和 vbs。
inputfile 必需的。要被編碼的檔案名稱,包括相對於目前的目錄的任何需要的路徑資訊。
outputfile 必需的。要產生的輸出檔案的名稱,包括相對於目前的目錄的任何需要的路徑資訊。


說明
如下是指令碼編寫器能處理的四種檔案:
ASP。該格式由一個文本動態網頁組成,此網頁在 <SCRIPT> ... </SCRIPT> 標記或 <% ... %> 標記內包含有效 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。
指令碼小程式。該格式由一個在 <SCRIPT> ... </SCRIPT> 標記中包含有效指令碼小程式的文字檔組成。識別副檔名有 .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


----------------------------------------------------------------------如下是一個包含需要保護的 JScript 代碼的簡短樣本:
<HTML>
<HEAD>
<TITLE>指令碼編碼器樣本頁</TITLE>
<SCRIPT LANGUAGE="JScript">
<!--//
//Copyright? 1998 Microsoft Corporation. All Rights Reserved.
//**開始編碼**
function verifyCorrectBrowser(){
if(navigator.appName == "Microsoft Internet Explorer")
if (navigator.appVersion.indexOf ("5.") >= 0)
return(true);
else
return(false);
}
function getAppropriatePage(){
var str1 = "Had this been an actual Web site, a page compatible with ";
var str2 = "browsers other than ";
var str3 = "Microsoft Internet Explorer 5.0 ";
var str4 = "would have been loaded.";
if (verifyCorrectBrowser())
document.write(str1



相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.