⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 admin_bbsftpusercfg.asp

📁 主要实现三大功能:记录统计功能、账号控制功能、文件上载自动校验功能
💻 ASP
字号:
<!--#include file="inc/ftp.asp"-->
<%
Head()
	if CheckAdmin()= false then response.end
%>

<script language=JavaScript>
function chkchk(obj)
{
	obj.value = (obj.checked?1:0);
}
</script>
<br>
<H1 align='center'>用户配置(角色配置)管理</H1>
<br>

<%
if request("action")="add" then
call Add_UserCfg

elseif request("action")="edit" then
call Edit_UserCfg
elseif request("action")="update" then
call Update_UserCfg
elseif request("action")="delete" then
call deletecfg
else
call list_UserCfg
end if

If Err Then
response.write Err.Description
End If



BBSFTP_Footer()

sub list_UserCfg()
dim rsFTP
set rsFTP = server.createobject("adodb.recordset")
rsFtp.Open "select * from FTPUserConfig", LOGconn, 1, 3
%>
<table cellpadding="2" cellspacing="1" border="0" width="95%" class="tableBorder" align=center style="table-layout:fixed;word-break:break-all">
<FORM METHOD=POST ACTION="?action=toftp"> 
    <tr  align=center>
<th width="5%" height=25>选择</th>    
<th width="13%">角色名</th>
<th width="*">根目录</th>
<th width="10%">上传速度</th>
<th width="10%">下载速度</th>
<th width="10%">最大登录数</th>
<th width="10%">每IP登录数</th>
<th width="13%">路径规则</th>
<th width="8%">操作</th>
            
</tr>
<%
if not (rsFtp.bof and rsFtp.eof) then
	rsFtp.Movefirst
	while not rsFtp.eof
%>
<tr><td align=center height=24 class=forumrow><input type="checkbox" name=userid value="<%=rsFtp("id")%>"></td>
    <td align=center height=24 class=forumrow><a href=?action=edit&ID=<%=rsFtp("id")%>><%=rsFtp("username")%></a></td>
	<td align=center class=forumrow><%=rsFtp("HomeDir")%></td>
	<td align=center  class=forumrow><%=rsFtp("MaxUpSpeed")%> KBS</td>
	<td align=center  class=forumrow><%=rsFtp("MaxDownSpeed")%> KBS</td>
	<td align=center  class=forumrow><%=rsFtp("MaxUsers")%></td>
	<td align=center  class=forumrow><%=rsFtp("MaxLoginPerIP")%></td>
	
	<td align=center  class=forumrow><%=rsFtp("DirAccess")%></td>
	<td align=center  class=forumrow>[<a href='?action=delete&ID=<%=rsFtp("ID")%>'>删除</a>]</td>	
	</tr>
<%			
		rsFtp.MoveNext
	wend
end if    
response.write "<tr><td colspan=9 align='center' height='25' class=forumRowHighlight><a href='?action=edit&ID=-1'><font color=red>添加新的用户配置(角色)</font></a></td></tr>"
response.write "</table>"
rsFtp.Close
set rsFtp = nothing
end sub

sub Edit_UserCfg()
dim rsUser,bNewUser,sAction,s
dim HomeDir,ChkRelPaths,ChkHide,ChkAllwaysLogin
dim MaxLoginPerIP,MaxUser,MaxUpSpeed,MaxDownSpeed,LogMes
dim SessionTimeOut,IdleTimeOut,UserName,IPAccess,DirAccess

bNewUser = 0
if request("ID")>0 then
	set rsUser = server.createobject("adodb.recordset")
	rsUser.Open "select * from FTPUserConfig where ID=" & request("ID"), LOGconn, 1, 3
	if not (rsUser.bof and rsUser.eof) then
		HomeDir = rsUser("HomeDir")
		if(rsUser("RelPaths")) then
    		ChkRelPaths = 1
    	else
    		ChkRelPaths = 0
    	end if
    	if(rsUser("HideHidden")) then
    		ChkHide = 1
    	else
    		ChkHide = 0
    	end if
    	if(rsUser("AlwaysLogin")) then
	    	ChkAllwaysLogin = 1
    	else
    		ChkAllwaysLogin = 0
    	end if
    	MaxLoginPerIP = rsUser("MaxLoginPerIP")
    	MaxUser = rsUser("MaxUsers")
    	MaxUpSpeed = rsUser("MaxUpSpeed")
    	MaxDownSpeed = rsUser("MaxDownSpeed")
    	SessionTimeOut = rsUser("SessionTimeOut")
    	IdleTimeOut = rsUser("IdleTimeOut")
    	UserName = rsUser("UserName")
    
    	IPAccess = rsUser("IPAccess")
    	DirAccess = rsUser("DirAccess")
    	
    	'新增加字段 用户的登录消息文件名
    	LogMes = rsUser("LogMes")
	else
		bNewUser = 1
	end if
	rsUser.Close
	set rsUser = nothing
else
	bNewUser = 1
end if
if bNewUser=1 then
	HomeDir = "C:\"
	ChkRelPaths = 1
	ChkHide = 1
	ChkAllwaysLogin = 0

	if request("ID")=0 and request("username")<>"" then
		UserName = request("username")
	else
		UserName = ""
	end if

	MaxLoginPerIP = 1
	MaxUser = 1
	MaxUpSpeed = 1000
	MaxDownSpeed = 150

	SessionTimeOut = 60
	IdleTimeOut = 5
	IPAccess = ""
	DirAccess = ""
	s = "添加新的用户配置(用户角色)"
	sAction = "add"
else
	sAction = "update"
	s = "修改用户配置(用户角色)"
end if
%>
<table cellpadding="2" cellspacing="1" border="0" width="95%" class="tableBorder" align=center>
<form method="POST" name="edituser" action="?action=<%=sAction%>">
<tr><th colspan=6 height=23 align=center><%=s%></th></tr>
<input type="hidden" name="ID" value="<%=request("ID")%>">  
<tr>
      <td colspan=6 class=forumrow><input type="checkbox" name="ChkHide" value=
      <%
      	if ChkHide=1 then
      		response.write "'1' checked LANGUAGE=javascript onclick='return chkchk(this)'"
      	else
      		response.write "'0' LANGUAGE=javascript onclick='return chkchk(this)'"
      	end if
      %>
      >在ftp中隐藏[系统文件和隐藏文件]</td>      
</tr>
    
<tr>
      <td colspan=6 class=forumrow><input type="checkbox" name="ChkAllwaysLogin" value=
      <%
      	if ChkAllwaysLogin=1 then
      		response.write "'1' checked LANGUAGE=javascript onclick='return chkchk(this)'"
      	else
      		response.write "'0' LANGUAGE=javascript onclick='return chkchk(this)'"
      	end if
      %>
      >总是允许用户登录<font color=red>[注意,如果选定了该项ServU6.0及以上版本将不会对用户限速]<font></td>
      
</tr>
    
    <tr>
      <td width="20%" class=forumrow>Home Dir</td>
      <td width="80%" class=forumrow><input type="text" name="HomeDir" size="20" value="<%=HomeDir%>"><%=MustStr%>用户Ftp根目录</td>
    </tr>
    
<tr>
      <td colspan=6 class=forumrow><input type="checkbox" name="ChkRelPaths" value=
      <%
      	if ChkRelPaths=1 then
      		response.write "'1' checked LANGUAGE=javascript onclick='return chkchk(this)'"
      	else
      		response.write "'0' LANGUAGE=javascript onclick='return chkchk(this)'"
      	end if
      %>
      >Lock user in Home Dir [锁定用户在根目录]</td>
      
</tr>
    
    <tr>
      <td width="20%" class=forumrow>角色名称</td>
<%if UserName<>"" and request("id")=0 then%>
	<td width="80%" class=forumrow><input type="hidden" name="UserName" value="<%=UserName%>"><%=UserName%></td>
<%else%>      
      <td width="80%" class=forumrow><input type="text" name="UserName" size="10" value="<%=UserName%>"><%=MustStr%></td>
<%end if%>
    </tr>
    <tr>
      <td width="20%" class=forumrow>用户登录消息文件</td>
      <td width="80%" class=forumrow><input type="text" name="LogMes" size="50" value="<%=LogMes%>"></td>  
    </tr>
    <tr>
      <td width="20%" class=forumrow>最大上传速度(kbs)</td>
      <td width="80%" class=forumrow><input type="text" name="MaxUpSpeed" size="10" value="<%=MaxUpSpeed%>"></td>
    </tr>
    <tr>
      <td width="20%" class=forumrow>最大下载速度(kbs)</td>
      <td width="80%" class=forumrow><input type="text" name="MaxDownSpeed" size="10" value="<%=MaxDownSpeed%>"></td>
    </tr>
    <tr>
      <td width="20%" class=forumrow>Max no.</td>  
      <td width="80%" class=forumrow><input type="text" name="MaxUser" size="10" value="<%=MaxUser%>">账号最大登录数目</td>
    </tr>
    <tr>
      <td width="20%" class=forumrow>每IP登录数</td>
      <td width="80%" class=forumrow><input type="text" name="MaxLoginPerIP" size="10" value="<%=MaxLoginPerIP%>">账号每IP最大登录数目</td>
    </tr>
    <tr>
      <td width="20%" class=forumrow>Idle Time-Out(min)</td>
      <td width="80%" class=forumrow><input type="text" name="IdleTimeOut" size="10" value="<%=IdleTimeOut%>">空闲超时[分钟]</td>  
    </tr>
    <tr>
      <td width="20%" class=forumrow>Session Time-Out(min)</td>
      <td width="80%" class=forumrow><input type="text" name="SessionTimeOut" size="10" value="<%=SessionTimeOut%>">会话超时[分钟]</td>  
    </tr>
    <tr>
      <td width="20%" class=forumrow>IP访问规则</td>
      <td width="80%" class=forumrow><input type="text" name="IPAccess" size="10" value="<%=IPAccess%>">填IP访问规则的组号,多个组用半角逗号隔开</td>
    </tr>
    <tr>
      <td width="20%" class=forumrow>文件路径访问规则</td>
      <td width="80%" class=forumrow><input type="text" name="DirAccess" size="10" value="<%=DirAccess%>"><%=MustStr%> 填文件路径访问规则的组号,多个组用半角逗号隔开</td>
    </tr>
  
<tr>
<td colspan=6 align=center height=25 class="forumRowHighlight">
<input type=reset value="重置"><input type=submit value="提交修改">
</td></tr>  </form>  
  </table>  

<%
end sub

sub Add_UserCfg()
dim rsUser
dim HomeDir,ChkRelPaths,ChkHide,ChkAllwaysLogin
dim MaxLoginPerIP,MaxUser,MaxUpSpeed,MaxDownSpeed,LogMes
dim SessionTimeOut,IdleTimeOut,UserName,IPAccess,DirAccess

HomeDir = request("HomeDir")
ChkRelPaths = request("ChkRelPaths")
ChkHide = request("ChkHide")
ChkAllwaysLogin = request("ChkAllwaysLogin")

UserName = request("UserName")

MaxLoginPerIP = request("MaxLoginPerIP")
MaxUser = request("MaxUser")
MaxUpSpeed = request("MaxUpSpeed")
MaxDownSpeed = request("MaxDownSpeed")

SessionTimeOut = request("SessionTimeOut")
IdleTimeOut=request("IdleTimeOut")
IPAccess=request("IPAccess")
DirAccess=request("DirAccess")
'新加字段 用户的登录消息文件
LogMes = request("LogMes")
'检查数据的有效性。。。。
'

set rsUser = server.createobject("adodb.recordset")
rsUser.Open "select * from FTPUserConfig", LOGconn, 1, 3
rsUser.AddNew

rsUser("HomeDir") = HomeDir
    
    rsUser("RelPaths") = (ChkRelPaths = 1)
    rsUser("HideHidden") = (ChkHide = 1)
    rsUser("AlwaysLogin") = (ChkAllwaysLogin = 1)
    if MaxLoginPerIP="" then MaxLoginperIP = 0
    rsUser("MaxLoginPerIP") = MaxLoginPerIP
    if MaxUser="" then MaxUser = 0
    rsUser("MaxUsers") = MaxUser
    rsUser("MaxUpSpeed") = MaxUpSpeed
    rsUser("MaxDownSpeed") = MaxDownSpeed
    
    rsUser("SessionTimeOut") = SessionTimeOut
    rsUser("IdleTimeOut") = IdleTimeOut
    rsUser("UserName") = UserName
    
    rsUser("IPAccess") = IPAccess
    rsUser("DirAccess") = DirAccess
    
    '新加字段 用户的登录消息文件
    rsUser("LogMes") = LogMes
rsUser.Update
rsUser.Close
set rsUser = nothing

response.write "<p align='enter'>OK,更新成功!</p><br>"
response.write "<a href='?'>返回</a><br>"
end sub

sub Update_UserCfg()
dim rsUser
dim HomeDir,ChkRelPaths,ChkHide,ChkAllwaysLogin
dim MaxLoginPerIP,MaxUser,MaxUpSpeed,MaxDownSpeed,LogMes
dim SessionTimeOut,IdleTimeOut,UserName,IPAccess,DirAccess

HomeDir = request("HomeDir")
ChkRelPaths = request("ChkRelPaths")
ChkHide = request("ChkHide")
ChkAllwaysLogin = request("ChkAllwaysLogin")

UserName = request("UserName")

MaxLoginPerIP = request("MaxLoginPerIP")
MaxUser = request("MaxUser")
MaxUpSpeed = request("MaxUpSpeed")
MaxDownSpeed = request("MaxDownSpeed")

SessionTimeOut = request("SessionTimeOut")
IdleTimeOut=request("IdleTimeOut")
IPAccess=request("IPAccess")
DirAccess=request("DirAccess")
'新加字段 用户的登录消息文件
LogMes = request("LogMes")
'检查数据的有效性。。。。
'

set rsUser = server.createobject("adodb.recordset")
rsUser.Open "select * from FTPUserConfig where ID=" & request("ID"), LOGconn, 1, 3

if rsUser.bof and rsUser.eof then
response.write "<p align='enter'><font color=red>更新失败!ID错误;</font></p><br>"
response.write "<a href='javascript:history.back(-1)'>返回</a><br>"
exit sub
end if

rsUser.MoveFirst
rsUser("HomeDir") = HomeDir
    
    rsUser("RelPaths") = (ChkRelPaths = 1)
    rsUser("HideHidden") = (ChkHide = 1)
    rsUser("AlwaysLogin") = (ChkAllwaysLogin = 1)
    if MaxLoginPerIP="" then MaxLoginperIP = 0
    rsUser("MaxLoginPerIP") = MaxLoginPerIP
    if MaxUser="" then MaxUser = 0
    rsUser("MaxUsers") = MaxUser
    rsUser("MaxUpSpeed") = MaxUpSpeed
    rsUser("MaxDownSpeed") = MaxDownSpeed
    
    rsUser("SessionTimeOut") = SessionTimeOut
    rsUser("IdleTimeOut") = IdleTimeOut
    rsUser("UserName") = UserName
    
    rsUser("IPAccess") = IPAccess
    rsUser("DirAccess") = DirAccess
    
    '新加字段 用户的登录消息文件
    rsUser("LogMes") = LogMes
rsUser.Update
rsUser.Close
set rsUser = nothing

response.write "<p align='enter'>OK,更新成功!</p><br>"
response.write "<a href='?'>返回</a><br>"
end sub

sub deletecfg()
LOGconn.execute "delete from FTPUserConfig where ID=" & request("ID")
call list_UserCfg
end sub
%>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -