加密你的ASP頁面 Script Encoder

2021-04-08 16:01:39 字數 2777 閱讀 1608

一、概述

一直以來,asp技術受到了越來越多朋友的喜愛,使用asp從事web開發的人也越來越多。asp乙個非常明顯的特徵是頁面在伺服器端經過處理之後傳送到瀏覽器中的內容為標準的html格式,這樣有效的保護了頁面程式的原**不被客戶端輕易獲取(當然ms的bug不斷那是另一回事了。^_^)。但是另乙個普遍存在的問題是:

由於asp頁面是純文字的形式存放,在伺服器端可以輕易看到全部程式設計邏輯。這樣給asp應用商業化帶來了一定的困難。解決的方法一般是使用元件技術將程式設計邏輯封裝入dll之中,但問題是:

1、如果每段**都元件化似乎工作量太大了,也沒有必要。

2、還有很多網友(比如象浪子一樣:-<)根本就不會編寫元件。

在這樣的背景下,微軟推出了script encoder1.0。乙個命令列的指令碼加密工具。

script encoder的特點是:

它只加密頁面中嵌入的指令碼**,其他部分,如html的tag仍然保持原樣不變。

處理後的檔案中被加密過的部分為唯讀內容,對加密部分的任何修改都將導致整個加密後的檔案不能使用。script encoder加密過的asp檔案還將使script debugger之類的指令碼除錯工具失效。

script encoder是可以對client side script加密,也可以對server side

script加密。

二、使用簡介

script encoder是個命令列工具,執行檔案為screnc.exe。它的操作非常簡

單: screnc [/s] [/f] [/xl] [/l deflanguage ] [/e defextension] inputfile

outputfile

/s         可選。讓script encoder「安靜」的工作,即執行過程

沒有螢幕輸出。(我使用的感覺忽略它,同樣沒有螢幕

輸出。沒什麼用,懶得理了。)

/f         可選。指定輸出檔案是否覆蓋同名輸入檔案。忽略,將

不執行覆蓋。

/xl        可選。是否在.asp檔案的頂部新增@language指令。忽略,

將新增。

/l deflanguage   可選。指定script encoder加密中選擇的預設指令碼語

言。 檔案中不包含這種指令碼語言特性的指令碼將被script

encoder

忽略。對於html和指令碼檔案來說,jscript為內建預設腳

本語言。對於asp檔案,vbscript為預設指令碼語言。同時

對於擴充套件名為.vbs或.js的檔案script encoder有自適應

能力。

/e defextension  可選。指定待加密檔案的副檔名。預設狀態下,

script

encoder能識別asa,asp,cdx,htm,html,js,sct和vbs

檔案。

三、常見問題和注意事項

1、在joy asp中幾次看到有網友使用script encoder時出現如下錯誤:  

"script encoder object <"scripting.encoder"> not found "

其原因:是使用script encoder需要script engine 5.0或以上指令碼引擎的支援。

解決的辦法有兩個,公升級瀏覽器到ie5或安裝script engine 5.0。

2、在加密global.asa時,加密完成後訪問出現:

active server pages 錯誤 'asp 0137'

無效通用指令碼

global.asa, 行1

script 塊必須是允許的 global.asa 過程之一。< %...% > 中的 script 原語不

加密後的global.asa檔案為:

<%@ language = vbscript.encode %>

出現這個錯誤的原因是:在加密完的global.asa檔案頂部被寫入了

<%@ language = vbscript.encode %>

解決的辦法是手動刪去這一行或者使用/xl引數加密即可。

3、script encoder對remote scripting無效。

四、總結

根據我個人的體會,script encoder還是比較好用的。使用簡單,加密後的指令碼運

行也比較穩定。不過這個東西僅僅是阻止了你隨意的檢視指令碼原**,估計相應的解密

工具不久就會出來的。所以建議可能的話,大家還是花點時間學習一下元件技術,我覺

得可以將這兩個結合起來運用的。正如微軟的文件所說:setting an engine to deal

with encoded script is only one side of the equation. how do you

encode your

script? there are two mechani**s to do this: a command-line script

encoder

and a com-based object model... 

附: http://msdn.microsoft.com/scripting/vbscript/download/x86/sce10en.exe

加密你的ASP頁面 Script Encoder

一 概述 一直以來,asp技術受到了越來越多朋友的喜愛,使用asp從事web開發的人也越來越多。asp乙個非常明顯的特徵是頁面在伺服器端經過處理之後傳送到瀏覽器中的內容為標準的html格式,這樣有效的保護了頁面程式的原 不被客戶端輕易獲取 當然ms的bug不斷那是另一回事了。但是另乙個普遍存在的問題...

Script標籤裡的defer屬性,你知多少?

先看下面三段 寫出你認為的輸出結果?test test test 你一定對第二種很感興趣,在第二段 中,script標籤的載入順序跑在了它下面的button後面,這裡要講解script標籤中的defer屬性。先摘錄一段貌似官方的說法 其實我們一般的寫法中也有defer屬性的,只不過它的預設值是fal...

用Script Encoder加密你的ASP頁面

用script encoder加密你的asp頁面 一直以來,asp技術受到了越來越多朋友的喜愛,使用asp從事web開發的人也越來越多。asp乙個非常明顯的特徵是頁面在伺服器端經過處理之後傳送到瀏覽器中的內容為標準的html格式,這樣有效的保護了頁面程式的原 不被客戶端輕易獲取。但是另乙個普遍存在的...