我希望有一个经典的ASP页面,它的工作方式类似于jsfiddle,这次除了VBscript。换句话说,我需要显示使用POST从一个表单传递到页面的vbscript代码的输出。
显然,response.write(request.form())
不起作用,我甚至不知道它是否可能。我可以看到脚本如何将表单输入写入单独的.asp页面(使用filesystemobject
和writeline
),然后加载,但是有更优雅的方式没有临时页面对于每个请求?
答案 0 :(得分: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>
然而,虽然这很有趣,但我不能想到安全不会成为主要问题的单一用途。
您实际上是在授予用户对服务器的完全访问权限!