1

我想要一个经典的 ASP 页面,它的工作方式类似于 jsfiddle,这次除了 VBscript。换句话说,我需要显示使用 POST 从一个表单传递到页面的 vbscript 代码的输出。

显然,response.write(request.form())不起作用,我什至不知道它是否可能。我可以看到脚本如何将表单输入写入单独的 .asp 页面(使用filesystemobjectand writeline),然后加载该页面,但是有没有更优雅的方法来避免每个请求都有一个临时页面?

4

1 回答 1

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>

然而,虽然这很有趣,但我想不出安全性不是主要问题的单一用途。

您实质上授予用户对您服务器的完全访问权限!

于 2012-09-12T21:49:39.083 回答