运行通过表单POST发送的VBscript代码
我希望有一个经典的ASP页面,除了这次的VBscript之外,它的工作方式类似于JSFIDLE。换句话说,我需要显示vbscript代码的输出,这些代码使用POST从一个表单传递到一个页面运行通过表单POST发送的VBscript代码,post,asp-classic,vbscript,Post,Asp Classic,Vbscript,我希望有一个经典的ASP页面,除了这次的VBscript之外,它的工作方式类似于JSFIDLE。换句话说,我需要显示vbscript代码的输出,这些代码使用POST从一个表单传递到一个页面 显然,response.write(request.form())不起作用,我甚至不知道如何实现。我可以看到脚本如何将表单输入写入一个单独的.asp页面(使用filesystemobject和writeline),然后加载该页面,但是有没有一种更优雅的方法,可以不为每个请求创建一个临时页面?您可以使用exec
显然,
response.write(request.form())
不起作用,我甚至不知道如何实现。我可以看到脚本如何将表单输入写入一个单独的.asp页面(使用filesystemobject
和writeline
),然后加载该页面,但是有没有一种更优雅的方法,可以不为每个请求创建一个临时页面?您可以使用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>
x=4-3
response.write x
然而,虽然这很有趣,但我想不出哪一次使用安全性不会成为主要问题
基本上是让用户完全访问您的服务器 您可以使用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>
x=4-3
response.write x
然而,虽然这很有趣,但我想不出哪一次使用安全性不会成为主要问题
基本上是让用户完全访问您的服务器 非常感谢!这是一个内部开发工具,所以没有风险。非常感谢!这是一个内部开发工具,所以没有风险。