参见
http://www.linyee.net/www/Tools/ASP_study.asp
用ASP实现,请大家多多指教。。。。。
主要应用于,小段代码调试,不用装IIS,不用老是上传,不用老是预览。。。。
如若发现可执行什么不安全,请留言与我,谢谢!!!!
<!--
'============================================================================
'asp_study.asp ASP代码学习页的ASP源码
'Linyee.net qq249033420灵异生存 e-mail:mythinker@2911
'以前写过类似的,放在网络,不够后来空间K了
'2008-9-15,今日再写过,直接巾出代码咯~~以备后用~~
'代码公布于CSDN的博客 http://hi.csdn.net/jiaguoxinzhi
'============================================================================
'--->
<%
'session("pass")="Linyee" '调试用
if session("pass")<>"Linyee" then
if request.form("pass")<>"" then session("pass")=trim(request.form("pass")):response.redirect "?"
ShowLogin
response.end '此两行是登录密码的设置===
end if
if request.form("aspCode")="" then ShowInput:response.end '为空时输出代码输入框
'不为空执行此代码
Dim AspCode,CodeArr,tempArr,ArrU1,tempStr
AspCode =Lcase(request.form("aspCode"))
if (instr(AspCode,"<"&"%")<=0) then response.write AspCode:response.end '纯HTML
'含ASP代码
'chkSafeCode(AspCode) '此行限制非安全对象====
AspCode =replace(AspCode,"<"&"%=""","<"&"%response.write """) '支持="SS"形式
CodeArr =split(AspCode,"<"&"%")
ArrU1 = ubound(CodeArr)
for fori=0 to ArrU1
tempStr =CodeArr(fori)
if (instr(tempStr,"%" & ">")>0) then '纯HTML
tempArr =split(tempStr,"%" & ">")
'on error resume next
execute(tempArr(0))
'if err.number<>0 then response.write err.description
'on error goto 0
response.write tempArr(1)
else '含ASP代码执行且输出
response.write(tempStr) '为HTML代码直接输出
end if
next
Function chkSafeCode(code)
chkSafeCode=true
if instr(code,"server.") then response.write "不允许有server对象":chkSafeCode=False
if instr(code,"execute") then response.write "不允许有execute对象":chkSafeCode=False
if not chkSafeCode then response.end
end Function
%>
<%Sub ShowInput()%>
<form name="form1" method="post" action="">
<table border="1">
<tr>
<td height="31" align="center" valign="middle" bgcolor="#FFCCFF"> ASP代码</td>
</tr>
<tr>
<td><textarea name="aspCode" cols="120" rows="30" wrap="VIRTUAL" id="aspCode"></textarea></td>
</tr>
<tr>
<td align="center" valign="middle">为了网站安全,限制SERVER. execute ,如果想支持此对象,请将本页加上访问限制 注释掉检测语句就好了</td>
</tr>
<tr>
<td align="center" valign="middle"><input type="submit" name="Submit" value="执行"></td>
</tr>
</table>
</form>
<%end Sub%>
<%Sub ShowLogin()%>
<form name="Login" method="post" action="">
<table border="1">
<tr>
<td>请输入访问密码:</td>
<td><input type="password" name="pass"></td>
<td><input type="submit" name="Submit" value="提交"></td>
</tr>
</table>
</form>
<%end Sub%>