一個顯示原代碼的asp程式

來源:互聯網
上載者:User

一個顯示原代碼的asp程式

 我們都知道asp這一類的伺服器端處理的程式,其好處之一就是只向用戶端輸出標準的Html流。因此可以起到向客戶隱藏細節的作用。也就是說當我們在瀏覽器中鍵入asp程式的網址後只能看見標準的Html檔案,而不能看見asp的內容。但有時,例如在一個asp的教學網站,我們有必要顯示asp檔案的內容,或者你願意將你的原代碼與人享,通過一個程式將代碼顯示出來。

  下面是我編寫的一個asp程式,view_code.asp,它提供兩種提交方式:

  一種是用表格提交,即你知道了該源檔案的物理地址(類似於:c:\asp_source\test.asp的形式)。
  一種是採用get方式提交(類似於:< a href="view_code.asp?code_path= < %=server.mappath(request.servervariables("PATH_INFO"))% >&cgi_type=asp" >

點擊此處查看原代碼< /a >)。另外它還支援兩種cgi指令碼,一種是asp,一種是php。

程式碼片段:

< %

on error resume next

’忽略程式執行中的錯誤,在程式的最後統一處理。

% >

< %

function rt_min(num1,num2)

’該子程式用於返回兩數中不等於零的最小數。

if num1=0 and num2=0 then

rt_min=-1

elseif num1=0 then

rt_min=num2

elseif num2=0 then

rt_min=num1

elseif num1

rt_min=num1

else

rt_min=num2

end if

end function

% >

< %

function line_check(strline,cgi_type)

’該子程式用於檢查輸入段中是否包含有"< %、% >、< script >或< /script的特殊字元

dim cgi_flag

if cgi_type="php" then

cgi_flag="?"

else

cgi_flag="%"

end if

’定義的cgi_flag用於代表php和asp的不同標識符

line_check=0

itemp=0

ipos=instr(strline,"<"&cgi_flag)

if rt_min(ipos,itemp)=ipos then

itemp=ipos

line_check=1

end if

ipos=instr(strline,cgi_flag&" >")

if rt_min(ipos,itemp)=ipos then

itemp=ipos

line_check=2

end if

ipos=instr(1,strline,"<"&"script",1)

if rt_min(ipos,itemp)=ipos then

itemp=ipos

line_check=3

end if

ipos=instr(1,strline,"<"&"/script",1)

if rt_min(ipos,itemp)=ipos then

itemp=ipos

line_check=4

end if

end function

% >


 



相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.