保護ASP指令碼原始碼
來源:互聯網
上載者:User
於 Server端的指令碼運行環境,它簡單易用,不需要編譯和串連,指令碼可以在 Server端直接運行,並且它支援多使用者、多線程,在 Web開發中得到了廣泛的應用。
但是,因為 ASP指令碼是純文字格式,所以惡意者通過原始碼可以很容易地看到原本不該看到的頁面內容。例如, ASP原始碼中通常有系統資料庫的串連使用者名稱和口令,惡意者利用此使用者名稱和口令可以輕鬆地查看資料庫中的所有資訊(包括系統機密資訊),還可能篡改庫中資訊,造成系統嚴重損壞。因此,保護 ASP指令碼的原始碼顯得非常重要。
保護 ASP指令碼原始碼通常可採用 3種方式:第一種方式是對訪問使用者進行限制,禁止非法使用者訪問;第二種方式是對 Server端環境進行處理,提高系統的健壯性;第三種方式是對原始碼進行加工,隱藏或部分隱藏指令碼原始碼。這 3種方式互為補充,有效設定可以提高指令碼原始碼的安全性。下面簡單介紹這 3種方式的實現方法。
限制訪問使用者
所謂限制訪問使用者是指只有授權的使用者才能訪問系統的 ASP指令碼。這主要有兩種實現方法:第一種方法是通過 SSL( Secure Socket Layer)方法, Server端向 Client端發放認證(可以利用免費認證管理軟體), Client端將認證添加到瀏覽器中,只有擁有合法認證的使用者才能與 Server端建立連結,從而訪問系統。這種方法不需要編程,安全性較高,但認證的下發比較麻煩。另一種方法是通過常用的驗證使用者名稱、口令方法,使用者登入時必須首先輸入使用者名稱和口令,只有合法的使用者名稱和口令才能訪問系統。這種方法安全性稍低,編程比較簡單。而且在實現時需要注意:不能簡單地在登入視窗進行判別,因為如果使用者知道了登入視窗下一步連結的檔案名稱,可以直接在地址欄輸入該檔案名稱而繞過登入視窗。編程時可以在除登入視窗檔案外的每個檔案的開頭檢查 Request(“ HTTP_REFERENCE")項的 IP地址,看其是否是由系統內部的檔案跳轉而來,如不是則跳轉到登入視窗。代碼如下:
<%
dim iValid
iValid=instr(Request(“ HTTP_REFERENCE"),
“ http://131.252.88.71")
if iValid= 0 then
Response.Redirect“ login.asp"
end if
......
% >
對 Server端進行處理
對 Server端進行處理主要有 3種方法:
●對系統許可權進行設定
對 Server端設定詳細的安全許可權,除了系統管理員,盡量降低使用者的存取許可權;刪除不必要的共用,包括印表機的共用;關閉匿名服務等一些不必要的功能;對 ASP原始碼的目錄設定詳盡的存取權限,關閉“讀”許可權。