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

📄 manage.cgi

📁 这个是分屏聊天室源码。需要分屏的聊天室请参考
💻 CGI
📖 第 1 页 / 共 5 页
字号:
	<INPUT language=javascript onclick="" style=\"BACKGROUND-COLOR: DDDDFF; BORDER-BOTTOM: 1px double; BORDER-LEFT: 1px double; BORDER-RIGHT: 1px double; BORDER-TOP: 1px double; COLOR: 000000; FONT-FAMILY: 宋体, Arial; FONT-SIZE: 9pt\" type=reset value=\"清&nbsp;&nbsp;&nbsp;&nbsp;除\">
</td> </tr></table></form>
<br><SPAN style="FONT-SIZE: 12px">技术支持&nbsp;<a href="http://deen.126.com" target="_blank"><ACRONYM TITLE='提供最酷的聊天程序,去看看了'>聊天同盟</ACRONYM></a></span>
</div></body></html>
_dnchat
}

#############################
#用户修改以后的处理
##############################
sub userdata {
$chkusername = &get_var('chkusername' ,'\n|"|<|>|\&|;| |\?|‖|\_|\*|\%|\@|\!|\~|\^|\#|');
$chkusername=~ s/$bd_wd//g;
$userfile = "$userhead$chkusername$userext";
if ($job eq "change") {
	$dnchkuserpass  = &get_var('dnchkuserpass'  ,'\n|"|<|>|\&|;| |\?|‖');
	&check_password2($chkusername,$dnchkuserpass) if ($username ne $superuser);
	&check_password if ($username eq $superuser);
	&error("提取 $chkusername 用户数据出错") unless (-e "$userfile");
	$user=&readtxtfile2($userfile);
	&readuserdata($user); }
$chkusername	  =&get_var('chkusername'  ,'\n|\"|\<|\>|\&|;| |\?|‖|\'|\*|\.|\@|\(|\)|\^|\%|\#|\+|\-|\`|\,|\!|\:|\/|');
$chkuserpass      =&get_var('chkuserpass'  ,'\n|"|<|>|\&|;| |\?|‖');
$chkuseremail     =&get_var('chkuseremail'  ,'\n|‖');
$chkcomment       =&get_var('chkcomment'  ,'\n|‖');
$chkuserin        =&get_var('chkuserin'      ,"$bd_wd");   #用户进入提示
$chkuserout       =&get_var('chkuserout'    ,"$bd_wd");   #用户退出提示
$chkcomment       =~s/\cM/ /g;
$chkusername      =~ s/$bd_wd//g;  #对用户名中的一些不雅词汇进行过滤
&checkempty($chkusername,"没有用户名");   #检查用户名是否为空
&checkempty($chkuserpass ,"没有用户密码") ;   # 检查用户密码是否为空
&checkempty($chkuseremail,"没有Email地址");   #检查用户邮箱地址是否为空
&checkempty($chkcomment ,"没有简介") ;   # 检查用户简介是否为空
if (length($chkusername) > 12) { &error("用户名不能超过10个字符");}
if (length($chkcoment)>200) { &error("自我简介太长!不能超过一百字。"); }
$userfile = "$userhead$chkusername$userext";
$chkuserpass2   = $chkuserpass;
$chkuserpass    = &passcode($chkuserpass);  #将密码加密
$chkusersec     = time ;
if ($job eq "add") {
# 检查是否与超级用户的名字相同
$chkusersame = 1 if (($chkusername eq $superuser)||($chkusername eq $bchatgenius )||($chkusername eq $gchatgenius ));
if (-e $userfile) { $chkusersame = 1;}	
&error("伟大的头脑不谋而合<br>你的名字 $chkusername 已有人注册") if ($chkusersame);
$chksadmin = 0;
$chkuserlevel   = 1;
$chkuserexperi  = 1;
}
if ($find_id) {
	$chkuserlevel   = &get_var('chkuserlevel'  ,'\n|‖'); 
	$chkuserlevel   = 1 if ($chkuserlevel > $maxlevel);
	$chkuserexperi  = &get_var('chkuserexperi'  ,'\n|‖');
	$chkuserexperi   = 1 if ($chkuserexperi < 0);
	$temp_sadmin   = &get_var('temp_sadmin'  ,'\n|‖');
	$chksadmin = 0;
	$chksadmin = 1 if ($temp_sadmin eq "yes");
}
# 将数据写入文件
mkdir("$userhead", 0777) unless (-e "$userhead");
&writeuserdata;  
chmod(0666,"$userfile") if ($job eq "add");
# 输出注册正确信息
$chkuserpass   = $chkuserpass2;
$dntitle = "注 册 成 功";
$dntitle = "修 改 成 功" if ($job eq "change");
print <<_dnchat;
<html><head><meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>$roomtitle</title>
<style type="text/css">
<!--
TABLE { font-family: 宋体; font-size: 14px }
--></style>
</head>
<body bgcolor=$bg_color text=$text_color>
<br><br><div align="center">
<table width="540" border="1" bordercolorlight="#CCFFFF" bordercolordark="#000000"
bordercolor="#33CCFF" align="center" bgcolor="#99CCFF" height="150">
  <tr><td colspan="2" bgcolor="#D6D5CD" height="14"><p align="right"><font color="#000000">$roomtitle</font></td></tr>
  <tr><td colspan="2" bgcolor="#FDF0EA" height="14"><p align="center"><font size = 5 color="#0000FF">$dntitle</font></td></tr>
  <tr><td bgcolor="#EFEDEF" width="270" height="12"><font color="#0000FF">用&nbsp;户&nbsp;名:$chkusername</font></td><td bgcolor="#EFEDEF" width="270" height="12"><font color="#0000FF">
	&nbsp;&nbsp;性&nbsp;别:</font></td></tr>
  <tr><td bgcolor="#EFEDEF" width="270" height="12"><font color="#0000FF">级&nbsp;&nbsp;&nbsp;&nbsp;别:$chkuserlevel</font></td>
	<td bgcolor="#EFEDEF" width="270" height="12"><font color="#0000FF">
	&nbsp;&nbsp;经 验:$chkuserexperi</font></td></tr>
  <tr><td bgcolor="#EFEDEF" width="270" height="12"><font color="#0000FF">密&nbsp;&nbsp;&nbsp;&nbsp;码:$chkuserpass</font></td>
	<td bgcolor="#EFEDEF" width="270" height="12"><font color="#0000FF">
	&nbsp;&nbsp;Email:$chkuseremail</font></td></tr>
  <tr><td colspan="2" bgcolor="#EFEDEF" width="534" height="12"><font color="#0000FF">自我简介:$chkcomment </font></td></tr>
  <tr><td colspan="2" bgcolor="#EFEDEF" width="534" height="12"><font color="#0000FF">进入提示:$chkuserin</font></td></tr>
  <tr><td colspan="2" bgcolor="#EFEDEF" width="534" height="12"><font color="#0000FF">退出提示:$chkuserout</font></td></tr>
  <tr><td colspan="2" bgcolor="#D6D5CD" height="14"><p align="center"><font color="#000000">如果你连续<b> $user_kill_day </b>天不来聊天,你的名字将被系统自动删除,请爱护你的名字 </font></td></tr>
  <tr><td colspan="2" bgcolor="#FDF0EA" width="540" height="20"><p align="center">
	<INPUT language=javascript onclick="javascript:window.close();" style=\"BACKGROUND-COLOR: DDDDFF; BORDER-BOTTOM: 1px double; BORDER-LEFT: 1px double; BORDER-RIGHT: 1px double; BORDER-TOP: 1px double; COLOR: 000000; FONT-FAMILY: 宋体, Arial; FONT-SIZE: 9pt\" type=button value=\"关闭窗口\">
</td></tr></table>
<br><br><SPAN style="FONT-SIZE: 12px">技术支持&nbsp;<a href="http://deen.126.com" target="_blank"><ACRONYM TITLE='提供最酷的聊天程序,去看看了'>聊天同盟</ACRONYM></a></span>
</div></body></html>
_dnchat
}

###############################
#进行密码检查2
###############################
sub check_password2 {
&checkempty($_[0] ,"用户名不能为空") ;   # 检查用户名是否为空
&checkempty($_[1] ,"用户密码不能为空") ;  # 检查用户密码是否为空
#取文件数据
$userpass = $_[1];
$userpass = &passcode($userpass) if ($userpass ne "");
$chkpass = 0;
$userfile = "$userhead$_[0]$userext";
if (-e "$userfile") {
	$user=&readtxtfile2($userfile);
	&readuserdata($user);
	if ($mark eq "userdata") {
		if ($chkuserpass eq $userpass )  {	
			$find_id = 1 if ($_[0] eq $superuser);
			$chkpass = 1; }
		else { $chkpass = 2; }
	}
}

#错误登录
if ( $chkpass == 2 ) { 	&error("密码错误,请您重新登录") ;}
if ( $chkpass == 0 ) { 	&error("没有这个用户 $_[0] ,请您重新登录") ;}
$userinfo="&username=$_[0]&password=$_[1]"; }
##############################
#用户自杀以后的处理
sub delete_user {
$userfile = "$userhead$username$userext";
&check_password2($username,$userpassword) ;
if (-e "$userfile") { unlink("$userfile"); } # 删除用户数据文件
else { &error("$username 用户不存在"); }
&success("$username 已经被成功删除") ; }
##############################
#超级用户的删除
sub superdelete {
&check_password;
$k = 0;
$delusername   = &get_var('delusername' ,'\n|‖');
&checkempty($delusername ,"没有选定要删除的用户");
@deldata =split(/§/,$delusername);
foreach $temuser (@deldata) {
	$userfile = "$userhead$temuser$userext";
	if (-e "$userfile") { unlink("$userfile"); $k++; }# 删除用户数据文件
}
$delusername=~ s/§/ /g;
&success("$delusername<br>共$k个用户已经被成功删除") ; }
#######################################
#寻找聊友的页面
sub search_html {
print <<EOF;
<html><body bgcolor=$bg_color text=$text_color><center>
<form  method="POST"  action="$cgiurl$manage?job=search$userinfo">
查找聊友名:<input type="text" name="searchusername" size="20">
&nbsp;&nbsp;<INPUT language=javascript onclick="" style=\"BACKGROUND-COLOR: DDDDFF; BORDER-BOTTOM: 1px double; BORDER-LEFT: 1px double; BORDER-RIGHT: 1px double; BORDER-TOP: 1px double; COLOR: 000000; FONT-FAMILY: 宋体, Arial; FONT-SIZE: 9pt\" type=submit value=\"提&nbsp;&nbsp;交\">
</form></body></html>
EOF
}
#######################################
#查找以后的处理
#######################################
sub search {
&check_password;
$searchusername   = &get_var('searchusername'    ,'\n|"|<|>|\&|;| |\?|‖') ;
$searchusername   = $username if ($searchusername eq "");
$chkusersame = 0;
$userfile = "$userhead$searchusername$userext";
if (-e "$userfile") {
	$user=&readtxtfile2($userfile);
	&readuserdata($user); $chkusersame = 1;
}
if ( $chkusersame==0 ) { &error("没有找到 $searchusername 用户") ; }
$chkuserlevel = "" if (($userlevel < $level_seelevel)&&($username ne $searchusername)) ;
if (($find_id == 1)||($username eq $searchusername)) { $chkuserpass =&unpasscode($chkuserpass); }
else { $chkuserpass = "";}
print <<_dnchat;
<html><head><meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>$roomtitle</title>
<style type="text/css">
<!--
TABLE { font-family: 宋体; font-size: 14px }
--></style>
</head>
<body bgcolor=$bg_color text=$text_color>
<br><br><div align="center">
<table width="540" border="1" bordercolorlight="#CCFFFF" bordercolordark="#000000"
bordercolor="#33CCFF" align="center" bgcolor="#99CCFF" height="150">
  <tr><td colspan="2" bgcolor="#D6D5CD" height="14"><p align="right"><font color="#000000">$roomtitle</font></td></tr>
  <tr><td colspan="2" bgcolor="#FDF0EA" height="14"><p align="center"><font size = 5 color="#0000FF">$chkusername 的资料</font></td></tr>
  <tr><td bgcolor="#EFEDEF" width="270" height="12"><font color="#0000FF">用&nbsp;户&nbsp;名:$chkusername</font></td><td bgcolor="#EFEDEF" width="270" height="12"><font color="#0000FF">
	&nbsp;&nbsp;性&nbsp;别:</font></td></tr>
  <tr><td bgcolor="#EFEDEF" width="270" height="12"><font color="#0000FF">级&nbsp;&nbsp;&nbsp;&nbsp;别:$chkuserlevel</font></td>
	<td bgcolor="#EFEDEF" width="270" height="12"><font color="#0000FF">
	&nbsp;&nbsp;经 验:$chkuserexperi</font></td></tr>
  <tr><td bgcolor="#EFEDEF" width="270" height="12"><font color="#0000FF">密&nbsp;&nbsp;&nbsp;&nbsp;码:$chkuserpass</font></td>
	<td bgcolor="#EFEDEF" width="270" height="12"><font color="#0000FF">
	&nbsp;&nbsp;Email:$chkuseremail</font></td></tr>
  <tr><td colspan="2" bgcolor="#EFEDEF" width="534" height="12"><font color="#0000FF">访问时间:$chkuseredate </font></td></tr>
  <tr><td colspan="2" bgcolor="#EFEDEF" width="534" height="12"><font color="#0000FF">自我简介:$chkcomment </font></td></tr>
  <tr><td colspan="2" bgcolor="#EFEDEF" width="534" height="12"><font color="#0000FF">进入提示:$chkuserin</font></td></tr>
  <tr><td colspan="2" bgcolor="#EFEDEF" width="534" height="12"><font color="#0000FF">退出提示:$chkuserout</font></td></tr>
  <tr><td colspan="2" bgcolor="#FDF0EA" width="540" height="20"><p align="center">
  <form  method="POST"   action="$cgiurl$manage?job=search$userinfo">
	查找用户:<input type="text"  name="searchusername" size="20">
<INPUT language=javascript onclick="" style=\"BACKGROUND-COLOR: DDDDFF; BORDER-BOTTOM: 1px double; BORDER-LEFT: 1px double; BORDER-RIGHT: 1px double; BORDER-TOP: 1px double; COLOR: 000000; FONT-FAMILY: 宋体, Arial; FONT-SIZE: 9pt\" type=submit value=\"提&nbsp;&nbsp;&nbsp;&nbsp;交\">
</td></tr></table></form>
<br><SPAN style="FONT-SIZE: 12px">技术支持&nbsp;<a href="http://deen.126.com" target="_blank"><ACRONYM TITLE='提供最酷的聊天程序,去看看了'>聊天同盟</ACRONYM></a></span>
</div></body></html>
_dnchat
}
#####################################################
#对 $usr_kill_day 天没有来的用户进行删除
#####################################################
sub cleanuserlist {
	&check_password();
	if ($find_id == 0 ) { &error('你不是系统管理员'); }
	$k = 0;
	$curstat = time;
	@user=&getuserdata;
	foreach (@user) {
		&readuserdata($_);
		if ($mark eq "userdata")  {
			$t_dndays = abs(int(($curstat - $chkusersec) / 86400 ));	 #得出相差的天数
			if ( $t_dndays > $user_kill_day ) {
					$userfile = "$userhead$chkusername$userext";
					if (-e "$userfile") { unlink($userfile);  $k++; } # 删除用户数据文件
					else { &error("$chkusername 用户不存在,已经删除 $k 个用户"); }
				}
			}
	}
	&success("删除 $k 个用户成功");
}
#####################################################
#备份用户数据
#####################################################
sub backdata {
	&check_password();
	if ($find_id == 0 ) { &error('你不是系统管理员'); }
	$k = 0;
	$tfileexist = 1;
	$deenfile = "$filehead$backfile";
	open(BACKDATA, ">$deenfile")|| &error("不能建立$deenfile文件");
	@user=&getuserdata;
	foreach (@user) {
		&readuserdata($_);
		if ($mark eq "userdata")  {  print BACKDATA "$_"; $k++;	}
	}
	 close(BACKDATA);
	 chmod(0666,"$deenfile") ;
	&success("备份 $k 个用户数据");
}

⌨️ 快捷键说明

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