2012-09-12 28 views
1

我想要一個經典的ASP頁面,其工作原理類似於jsfiddle,但VBscript這次除外。換句話說,我需要顯示使用POST從一個表單傳遞到頁面的vbscript代碼的輸出。運行通過POST POST形式發送的VBscript代碼

顯然,response.write(request.form())不起作用,我甚至不知道如果有可能。我可以看到腳本如何將表單輸入寫入單獨的.asp頁面(使用filesystemobjectwriteline),然後加載該頁面,但有沒有更優雅的方式,因爲每個請求都沒有臨時頁面?

回答

1

您可以使用execute()函數(不要與server.execute()混淆)。

下面是一個例子:

<% 
    if request.QueryString("task") = "execute" then 
     Response.Write "Output: <hr />" 
     Execute(Request.Form("VbScript")) 
     Response.Write "<hr />" 
    end if 
%> 
<form action="test.asp?task=execute" method="post"> 
<textarea name="VbScript" style="height: 100px"> 
x = 4 - 3 
response.write x 
</textarea> 
<input type="submit" value="Execute" /> 
</form> 

然而,儘管這很有趣,我想不出一個單一的使用那裏的安全不會是一個主要關注的問題。

您的本質是讓用戶完全訪問您的服務器!

+0

非常感謝!這是一個內部開發者工具,所以沒有風險。 – greener