信息来源:冰点极限&海阳顶端论坛
作者:LIN
以下是代码:
<!--#include file="conn.asp"-->
<!--#include file="inc/const.asp"-->
<html>
<head>
<title>论坛配置信息修改器</title>
<style type=text/css>
A:link,A:active,A:visited{TEXT-DECORATION:none ;Color:#000000}A:hover{TEXT-DECORATION: underline;Color:#4455aa}
BODY{FONT-SIZE: 12px;COLOR: #000000;FONT-FAMILY: 宋体;
scrollbar-face-color: #DEE3E7;scrollbar-highlight-color: #FFFFFF;scrollbar-shadow-color: #DEE3E7;scrollbar-3dlight-color: #D1D7DC;scrollbar-arrow-color: #006699;scrollbar-track-color: #EFEFEF;scrollbar-darkshadow-color: #98AAB1;}
font{line-height : normal ;}
TD{font-family: 宋体;font-size: 12px;line-height : 15px ;}
th{background-image: url(Skins/Default/css/default/bg1.gif);background-color: #4455aa;color: white;font-size: 12px;font-weight:bold;}
td.TableTitle2{background-color: #E4E8EF;}
td.TableBody1{background-color: #FFFFFF;line-height : normal ;}
td.TableBody2{background-color: #E4E8EF;line-height : normal ;}
td.TopDarkNav{background-image: url(Skins/Default/css/default/topbg.gif);}
td.TopLighNav{background-image: url(Skins/Default/css/default/bottombg.gif);}
td.TopLighNav1{background-image: url(Skins/Default/css/default/tabs_m_tile.gif);}
td.TopLighNav2{background-color:#FFFFFF}
.tableBorder1{width:98%;border: 1px; background-color: #6595D6;}
.tableBorder2{width:98%;border: 1px #DEDEDE solid; background-color: #EFEFEF;}
#TableTitleLink A:link, #TableTitleLink A:visited, #TableTitleLink A:active {COLOR: #FFFFFF; TEXT-DECORATION: none;}#TableTitleLink A:hover {COLOR: #FFFFFF; TEXT-DECORATION: underline;}
input,select,Textarea,option{font-family:Tahoma,Verdana,"宋体" ; font-size: 12px; line-height: 15px;COLOR: #000000;}
.normalTextSmall { font-size : 11px; color : #000000; font-family: Verdana, Arial, Helvetica, sans-serif;}
.menuskin {
BORDER: #666666 1px solid; VISIBILITY: hidden; FONT: 12px Verdana;
POSITION: absolute;
BACKGROUND-COLOR:#EFEFEF;
background-image:url("Skins/Default/dvmenubg3.gif");
background-repeat : repeat-y;
}
.menuskin A {
PADDING-RIGHT: 10px; PADDING-LEFT: 25px; COLOR: black; TEXT-DECORATION: none; behavior:url(inc/noline.htc);
}
#mouseoverstyle {
BACKGROUND-COLOR: #C9D5E7; margin:2px; padding:0px; border:#597DB5 1px solid;
}
#mouseoverstyle A {
COLOR: black
}
.menuitems{
margin:2px;padding:1px;word-break:keep-all;
}
a.navlink:link {color: #000000; text-decoration:none}
a.navlink:visited {color: #000000; text-decoration:none }
a.navlink:hover {color: #003399; text-decoration:none }
.BrightClass{background-color: #D7D7D7; }
/*
编辑器特效CSS样式
*/
div.quote{margin:5px 20px;border:1px solid #CCCCCC;padding:5px;background:#F3F3F3 ;line-height : normal ;
}
div.HtmlCode{margin:5px 20px;border:1px solid #CCCCCC;padding:5px; background:#FDFDDF ;
font-size:14px;font-family:Tahoma;font-style : oblique;line-height : normal ;font-weight:bold;
}
.style1 {
color: #990000;
font-weight: bold;
}
</style>
</head>
<%
ConnectionDatabase()
Dim Rs,SQL,TempStr,TableName,Key,Done,Result,LeftCord,RightCord
dim TableList,TableCount
dim Action
dim i,j
dim cut1,cut2
LeftCord = "[{left}]"
RightCord = "[{right}]"
TableName = trim(request.QueryString("table"))
Key = Trim(request.QueryString("key"))
Done = Trim(request("done"))
cut1 = ","
cut2 = "~!~"
Action = request.QueryString("action")
%>
<body>
<table width="711" height="215" border="1" align="center" cellpadding="0" cellspacing="0">
<tr>
<td width="707" height="16">
<form name="form0" method="post" action="?action=selecttable&done=ok">
<span class="style1">注:为了避免发生冲突,在数据显示的时候已将所有的“<”替换成“< %=LeftCord%>”</span><br>
你可以修改以下表中的数据:<br>
<a href="?action=modify&table=Dv_ChallengeInfo&key=1">;Dv_ChallengeInfo</a> | <a href="?action=modify&table=Dv_Setup&key=1">Dv_Set up</a> | <a href="?action=modify&table=Dv_Style&key=1">Dv_Sty le</a> | <a href="?action=modify&table=Dv_StyleHelp&key=1">Dv _StyleHelp</a>
<br>
<br>
超强功能:<br>
<a href="?action=exesql">执行SQL语句</a> | <a href="?action=dbpro">数据库属性</a> | <a href="?action=userselect">查看自写SQL查询语句记录</a> | <a href="?action=show_app">查看站点Application对象</a><br>
<br>
显示表的结构和数据:<br>
<select name="tablelist" id="tablelist" onChange="teblename.value=tablelist.value">
<option value="" selected>请选择要查看的表</option>
<option value="Dv_AdCode">Dv_AdCode</option>
<option value="Dv_Admin">Dv_Admin</option>
<option value="Dv_bbs1">Dv_bbs1</option>
<option value="Dv_BbsLink">Dv_BbsLink</option>
<option value="Dv_BbsNews">Dv_BbsNews</option>
<option value="Dv_BestTopic">Dv_BestTopic</option>
<option value="Dv_Board">Dv_Board</option>
<option value="Dv_BoardPermission">Dv_BoardPermission</option& gt;
<option value="Dv_BookMark">Dv_BookMark</option>
<option value="Dv_ChallengeInfo">Dv_ChallengeInfo</option>
<option value="Dv_ChanOrders">Dv_ChanOrders</option>
<option value="Dv_Friend">Dv_Friend</option>
<option value="Dv_GroupName">Dv_GroupName</option>
<option value="dv_help">dv_help</option>
<option value="Dv_Log">Dv_Log</option>
<option value="Dv_Message">Dv_Message</option>
<option value="Dv_Online">Dv_Online</option>
<option value="Dv_Plus">Dv_Plus</option>
<option value="Dv_Setup">Dv_Setup</option>
<option value="Dv_SmallPaper">Dv_SmallPaper</option>
<option value="Dv_Style">Dv_Style</option>
<option value="Dv_StyleHelp">Dv_StyleHelp</option>
<option value="Dv_TableList">Dv_TableList</option>
<option value="Dv_Topic">Dv_Topic</option>
<option value="DV_Upfile">DV_Upfile</option>
<option value="Dv_User">Dv_User</option>
<option value="Dv_UserAccess">Dv_UserAccess</option>
<option value="Dv_UserGroups">Dv_UserGroups</option>
<option value="Dv_Vote">Dv_Vote</option>
<option value="Dv_VoteUser">Dv_VoteUser</option>
</select>
表的名称:
<input name="teblename" type="text" id="teblename" value="">
<input type="submit" name="Submit" value="查看">
</form>
</td>
</tr>
<tr>
<td>
<%
select case Action
case "modify"
if isnull(TableName) or TableName = "" or isnull(Key) or Key = "" then
TableName = "Dv_Style"
Key = 1
end if
if isnull(Done) or Done = "" then
modify_reset()
else
modify_done()
end if
case "exesql"
if isnull(Done) or Done = "" then
exesql_reset()
else
exesql_done()
end if
case "dbpro"
showdbpro()
case "selecttable"
selecttable()
case "userselect"
if isnull(Done) or Done = "" then
userselect_reset()
else
userselect_done()
end if
case "show_app"
show_app()
case "clear_app"
clear_app()
case "clear_all_app"
clear_all_app()
case "show_app_con"
show_app_con()
end select
showversion()
'############重置数据库修改信息
sub modify_reset()
dim ls_resultstr
ls_resultstr = ""
TempStr = ""
SQL="select Top 1 * from " & TableName
Set Rs=conn.Execute(sql)
TableCount = Rs.fields.count
for i=0 to TableCount - 1
TempStr = TempStr + Rs(i).name + cut1
next
TableList = split(TempStr,cut1)
%>
<font color="red"><%=TableName%></font>
<form action="?action=modify&table=<%=TableName%>&ke y=<%=Key%>&done=ok" method="post" name="form1" id="form1">
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr bgcolor="#99CC99">
<td align="center"><b>编号</b></td>
<td align="center"><b>列名</b></td>
<td align="center"><b>数据</b></td>
</tr>
<%
for i=0 to TableCount-1
%>
<tr>
<td width="8%"><font color="#990000"><b><%=i%></b></font& gt;</td>
<td width="6%"><%=Tablelist(i)%></td>
<td width="86%"><textarea name="<%=Tablelist(i)%>" cols="100" rows="6" id="<%=Tablelist(i)%>"><%
TempStr = Rs(i)
ls_resultstr = ls_resultstr & "##########" & Tablelist(i) & chr(13)
If Not IsNull(TempStr) Then
TempStr = Replace(TempStr,"<",LeftCord)
ls_resultstr = ls_resultstr & TempStr
response.Write(TempStr)
End if
ls_resultstr = ls_resultstr & chr(13) & chr(13)
'response.Write(len(Rs(i)))
%></textarea></td>
</tr>
<%
next
%>
<td colspan="3" align="center">
<input type="reset" name="Submit" value="重置">
&n bsp;
<input type="submit" name="Submit" value="提交">
</td>
</tr>
<tr>
<td colspan="3" align="center"><textarea cols="100" rows="6"><%
response.Write(ls_resultstr)
%>
</textarea></td>
</tr>
</table>
</form><%
end sub
'############修改数据库信息
sub modify_done()
TempStr = ""
SQL="select Top 1 * from " & TableName
Set Rs=DVbbs.Execute(sql)
TableCount = Rs.fields.count
for i=1 to int(TableCount)
TempStr = TempStr + Rs(i-1).name + cut1
next
TableList = split(TempStr,cut1)
Result = ""
for i=0 to TableCount-1
Result = Result & Trim(request.Form(Tablelist(i))) & cut2
next
Result = split(replace(Result,LeftCord,"<"),cut2)
SQL = "update " & TableName & " set "
for i=1 to TableCount-2
SQL = SQL & Tablelist(i) & " = '" & replace(Result(i),"'","''") & "' , "
next
SQL = SQL & Tablelist(i) & " = '" & replace(Result(i),"'","''") & "' where " & Tablelist(0) & " = " & Result(0)
'response.Write(SQL)
on error resume next
DVbbs.Execute(sql)
If Err Then
err.Clear
Response.Write "<font color=red>执行SQL语句时出现错误!</font>"
showversion()
Response.End
else
response.Write("数据更新成功!")
end if
end sub
'############重置SQL语句输入页面
sub exesql_reset()
%>
<table width="100%" border="1" cellspacing="0" cellpadding="0">
<tr>
<td>
<form name="form1" method="post" action="?action=exesql&done=ok">
请输入你要执行的SQL语句:(默认将“<%=LeftCord%>”替换成“<” )<br>
<textarea name="exesql" cols="100" rows="3" id="exesql"></textarea>
<input type="submit" name="Submit" value="提交">
</form>
</td>
</tr>
</table>
<%
end sub
'############执行SQL语句
sub exesql_done()
On Error Resume Next
SQL = Trim(request.Form("exesql"))
if isnull(SQL) or SQL = "" then
Response.Write "请输入要执行的SQL语句!"
exit sub
else
SQL = replace(SQL,LeftCord,"<")
end if
'response.Write(SQL)
Conn.Execute(SQL)
If Err Then
response.Write(err)
err.Clear
Set Conn = Nothing
Response.Write "<font color=red>执行SQL语句时出现错误,请检查SQL语句是否正确!</font>"
showversion()
Response.End
else
Response.Write "SQL语句执行成功!"
End If
end sub
'############显示版权信息
sub showversion()
%>
<table width="100%" border="1" cellspacing="0" cellpadding="0">
<tr align="center">
<td height="58">欢迎使用<a href="
http://freehost08.websamba.com/henryhoo/bbs/" target="_blank">【启步论坛】</a>的“动网(DvBBS)”超级修改器<br&g t;
本程序只是为管理员提供一个可以操作的后台,请谨慎使用,不要用于非法用途!<br>
本人对由于使用本程序所造成的损失或违法行为不承担任何责任!<br>
本程序可以自由传播,但请保留此部分内容。请不要用于商业用途!<br>
访问【启步论坛】
http://henryhoo.126.com ;<a href="
http://henryhoo.126.com" target="_blank">链接一</a> <a href="
http://www.websamba.com/henryhoo" target="_blank">链接二</a> <a href="
http://freehost08.websamba.com/henryhoo/bbs/" target="_blank">链接三</a></td>
</tr>
</table>
<%
end sub
'############显示数据库联接信息
sub showdbpro()
%>
<table width="100%" border="1" align="center" cellpadding="0" cellspacing="0">
<tr align="center">
<td width="9%">编号</td>
<td width="31%">名称</td>
<td width="60%">内容</td>
</tr>
<%
for i=0 to conn.properties.count - 1
%>
<tr >
<td width="9%" align="center">[<%=i%>] </td>
<td width="31%"><%=conn.properties(i).name%> & lt;/td>
<td width="60%"><%=conn.properties(i)%> </t d>
</tr>
<%
next
%>
</table>
<%
end sub
'############查看选择表中的数据
sub selecttable()
dim ls_sql
TableName = Trim(request.form("teblename"))
if TableName = "" or isnull(TableName) then
response.write("请选择要查看的表!")
else
ls_sql = "select top 50 * from " & TableName
showdata(ls_sql)
end if
end sub
'############查看选择表中的数据
sub showdata(sqlcommand)
dim ls_sql,ls_columns
ls_sql = sqlcommand
if InStr(ls_sql,"update") = 0 and InStr(ls_sql,"insert") = 0 and InStr(ls_sql,"delete") = 0 then
on error resume next
Set Rs=Conn.Execute(ls_sql)
if err then
response.Write(err)
err.clear
response.write("<font color=red>查询时出现错误,可能是要查询的表或视图不存在!</font>")
showversion()
response.End()
end if
ls_columns = Rs.fields.count
response.write("执行的SQL语句:" & ls_sql)
%>
<table width="100%" border="1" cellspacing="0" cellpadding="0">
<tr align="center">
<%
for i = 0 to ls_columns - 1
%>
<td width="<%=100/(ls_columns - 1)%>%"><%=Rs(i).name%></td>
<%
next
%>
</tr>
<%
while not Rs.eof
%>
<tr>
<%
for j = 0 to ls_columns -1
TempStr = Rs(j)
if not isnull(TempStr) then
TempStr = replace(TempStr,"<",LeftCord)
end if
%>
<td><textarea name="textarea" cols="20" rows="3"><%=TempStr%></textarea></td>
<%
next
%>
</tr>
<%
Rs.movenext
wend
else
response.write(SQL & "<br>请不要在SQL语句中包含有delete,update,insert等关键字!")
end if
%>
</table>
<%
end sub
'############重置查看用户自定义SQL语句数据的输入页面
sub userselect_reset()
%>
<table width="100%" border="1" cellspacing="0" cellpadding="0">
<tr>
<td>
<form name="form2" method="post" action="?action=userselect&done=ok">
查看自写SQL查询语句记录:<br>
<textarea name="sqlcommand" cols="100" rows="3" id="sqlcommand"></textarea>
<input type="submit" name="Submit" value="提交">
</form>
</td>
</tr>
</table><%
end sub
'############查看用户自定义SQL语句中的数据
sub userselect_done()
dim ls_sql
ls_sql = Trim(request.form("sqlcommand"))
if ls_sql = "" or isnull(ls_sql) then
response.write("请填写你要查看的SQL语句!")
else
showdata(ls_sql)
end if
end sub
'############查看站点的application
sub show_app()
dim item
dim ls_app_list
TempStr = ""
%>
一共有<%=Application.Contents.count%>个Application&nbs p;| <a href="?action=clear_all_app">设置所有Application为Null</a&g t;
<table width="100%" border="1" cellspacing="0" cellpadding="0">
<tr align="center">
<td>序号</td>
<td>Application的名称</td>
<td>设置Application为Null</td>
<td>Application类型</td>
<td>查看Application内容</td>
</tr>
<%
i=1
For Each item IN Application.Contents
%>
<tr>
<td><%=i%></td>
<td><%=item%></td>
<td><a href="?action=clear_app&app_item=<%=item%>">设置& lt;/a></td>
<td><%=typename(Application(item))%> </td>
<td align="center"><%if typename(Application(item)) <> "Variant()" and typename(Application(item)) <> "Null" then response.write("<a href=?action=show_app_con&app_item=" & item & ">查看内容</a>") %> </td>
</tr>
<%
i=i+1
next
%>
</table>
<%
end sub
'############清除application
sub clear_app()
dim app_item
app_item = trim(request.QueryString("app_item"))
if isnull(app_item) or app_item = "" then
response.write("<font color=red>无法获得Application的名称!</font>")
else
Application(app_item) = Null
response.write("<font color=red>Application(""" & app_item & """)</font>已经设置为Null")
end if
end sub
'############清除所有的application
sub clear_all_app()
dim item
For Each item IN Application.Contents
Application(item) = Null
next
response.write("已经将所有Application设置为Null")
end sub
'############显示application的内容
sub show_app_con()
dim app_item
app_item = trim(request.QueryString("app_item"))
if isnull(app_item) or app_item = "" then
response.write("<font color=red>无法获得Application的名称!</font>")
else
TempStr = trim(Application(app_item))
if not isnull(TempStr) or TempStr <> "" then
response.write("<font color=red>Application(""" & app_item & """)</font>的内容如下:<br>")
TempStr = replace(replace(TempStr,"<","<"),">",">" )
response.write(TempStr)
else
response.write("<font color=red>Application(""" & app_item & """)</font>的内容是空的!")
end if
end if
end sub
Set Conn = Nothing
%>
</td>
</tr>
</table>
</body>
</html>