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

📄 admin.cgi

📁 系统重定向方面的资料
💻 CGI
字号:
#!/usr/bin/perl

#######################################################
#
#  作者:飞云小侠
#  邮件:scud@126.com
#  网站:飞云飘渺
#  网址:http://www.coolwww.net
#  声明:版权所有,不得去除版权说明 
#
#_____________________________________________
# 收集/整理: 网酷资讯 http://shining.yeah.net
######################################################


###管理员管理界面

eval {
  ($0 =~ m,(.*)/[^/]+,)   && unshift (@INC, "$1"); # 得到当前位置: UNIX / or Windows /
  ($0 =~ m,(.*)\\[^\\]+,) && unshift (@INC, "$1"); # 得到当前位置: Windows \
  
  require ('cgi-lib.pl');
  require "field_cfg.pl";
  require "prg_cfg.pl";
  require "scudlib.pl";
  require "datalib.pl";
  };
  
use Fcntl;
use AnyDBM_File;



&ReadParse(*input);

$db = "$datapath/$userdb";

$thisurl = $ENV{'SCRIPT_NAME'};

print "Content-type: text/html\n\n ";


if ($input{'login'}) 
{ &login; }
elsif ($input{'viewthis'}) { &view; }
elsif ($input{'deletethis'}) { &delete; }
else { &admin; }
exit;

####### 登陆主画面
sub admin {
  &Header($prg_style,$prg_name,$prg_header);

	if (-e "$adminpwd")
	{
		print qq~
		<table cellspacing=0 border=0 cellpadding =5 width=500 align=center>
		<tr><td><FONT FACE="宋体,Arial"><b>管理员登录(如果你不是管理员,请返回,谢谢.)</b></FONT></td></tr>
		<tr><td class=hz><br>
		<FONT FACE="宋体,Arial">
		请输入你的用户名和密码登陆</font><br>
		<FORM METHOD=POST ACTION=$thisurl>
		<INPUT TYPE=HIDDEN NAME=login VALUE=" Log In ">
		管理帐号:<INPUT TYPE=text NAME="adminname" SIZE=10 maxlength=20><br>
		管理密码:<INPUT TYPE=PASSWORD NAME="adminpwd" SIZE=10 maxlength=20>
		<br><br>
		<INPUT TYPE=SUBMIT NAME=login class=hz VALUE=" 管理登录 ">
		</FORM>
		</td></tr></TABLE><br>
		~;
	  &Footer($prg_footer);
	  
		exit;
		
	}
	else
	{
		$myhint = "<b>请上载密码文件!<br></b>密码文件不存在,不能使用管理功能!";
		&myhint($myhint);
	}
  &Footer($prg_footer);

}

sub login
{
&checkadminpwd;

tie(%acc, 'AnyDBM_File', $db , $flags, 0666) || &error("不能打开数据库-- 用户数据库");
while ( ($key, $value) = each(%acc) ) {
	my @accarray = split(//,$key);
	$char{$accarray[0]}++;
	$num++;
}
untie(%acc);

&Header($prg_style,$prg_name,$prg_header);

print qq~
<table cellspacing=0 border=0 cellpadding =5 width=$table_width bgcolor=$table_color align=center>
<tr align=center><td><FONT FACE="宋体,Arial" color=white><b>查看帐号</FONT></td></tr>
<tr align=center><td><br>当前帐号总数:<b>$num</b><br>
<table border=1 cellspacing=1 cellpadding=2 align=center><tr><td class=hz>
<FONT face=宋体,arial >字母排列</td><td class=hz><FONT face=宋体,arial > 用户数 
</td></tr>
~;

my @char_set = ('0'..'9','a'..'z');

foreach $ch(@char_set) 
{
	if ($char{$ch}) 
	{
		print qq~
		      <form action=$thisurl method=post><tr><td>
		      <input type=hidden name=adminname value=\"$curadminname\"> 
					<input type=hidden name=adminpwd value=\"$curadminpwd\">
					<input type=hidden name=view value="$ch"><input type=submit name=viewthis class=hz value=" 查看 $ch ">
					</td><td align=right class=hz><font face=宋体,arial>$char{$ch} </td></tr></form>
		      ~;
	}
}
print "</TABLE></td></tr></TABLE>";

&Footer($prg_footer);    
exit;
	
}


sub view 
{
&checkadminpwd;

&Header($prg_style,$prg_name,$prg_header);
	
print qq~
<table cellspacing=0 border=0 cellpadding =5 align=center>
<tr><td><FONT FACE="Arial"><b>管理帐号</FONT></td></tr>
<tr><td><FONT FACE="宋体,Arial">
<table cellpadding=1 border=1 cellspacing=0 bgcolor=#f0faff>
<tr>
<td><font face=宋体,arial  class=hz><b>序号</b></td>
~;

for ($i=0;$i<$field_count;$i++)
{
    if ( $field_save[$i] ne "2" ) 
    {
    	print "<td><font face=宋体,arial class=hz align=center><b>&nbsp;$field_name[$i]</b></td>";
    }
}		    
 
print "<td align=center><font face=宋体,arial class=hz color=red><b>管理</b></td></tr>";

tie(%acc, 'AnyDBM_File', $db , $flags, 0666) || &error("不能打开数据库-- 用户数据库");

while ( ($key, $value) = each(%acc) ) 
{
	my @accarray = split(//,$key);
	$num++;
	
	if ($accarray[0] eq $input{'view'}) 
	{
		$tempdiv=quotemeta($div);
		@userdata = split(/$tempdiv/,$value);
		
		$username=$key;

		@tempdata=();
		@tempdata2=();
		for ($j=0;$j<($pwd2_field-1);$j++)
		{
		 $tempdata[$j]=$userdata[$j];
		}
		for ($j=($pwd2_field-1);$j<($field_count-2);$j++)
		{
		 $tempdata2[$j-$pwd2_field+1]=$userdata[$j];
		}
	
	  $mypwd=$userdata[$pwd_field-1];
	  @userdata =($username,@tempdata,$mypwd,@tempdata2);

		print qq~
		<form action="$thisurl" method=post>
		<tr>
		<td class=hz align=center><font face=宋体,arial size=-1> $num </td>
		~;
		
    for ($i=0;$i<$field_count;$i++)
    {
    	 	@myattr=split(/,/,$field_attr{$i});
      	$mytype = $myattr[2];

        if ( $field_save[$i] ne "2" ) 
        {
        	  print "<td class=hz align=center><font face=宋体,arial>$userdata[$i]</td>";
        }
		}		    
		
    print qq~<td align=center class=hz>
    			<input type=submit name="deletethis" class=hz value=" 删除$key ">
		      <input type=hidden name=adminname value=\"$curadminname\"> 
					<input type=hidden name=adminpwd value=\"$curadminpwd\">
					<input type=hidden name="delete" value="$key"> 
		</td></tr></form>
		~;
		
	}
}
untie(%acc);

print "</table></td></tr></table>";

exit;
	
}


sub delete
{

&checkadminpwd;

tie(%acc, 'AnyDBM_File', $db , $flags, 0666) || &error("不能打开数据库-- 用户数据库");
delete($acc{$input{'delete'}});
untie(%acc);

&myhint("<FONT face=宋体,arial ><b>帐号: <font color=red>$input{'delete'}</FONT> 被删除了</FONT>");
exit;
	
}


sub checkadminpwd {

open (ADMINFILE, "$adminpwd");
@pwdlist = <ADMINFILE>; 
close (ADMINFILE);

$curadminname=$input{'adminname'};
$curadminpwd=$input{'adminpwd'};

$loginyes="";

if ( ($curadminpwd) and ($curadminname)) 
{
	$curppwd = crypt($curadminpwd, aa);
	foreach(@pwdlist)
	{
		# 密码文件格式: 帐号||密码||0
		@admindata = split(/\|\|/,$_);
		if (( $curadminname eq $admindata[0])&&($curppwd eq $admindata[1]))
		{
			$loginyes ="yes";
		}
	}
	if ($loginyes ne "yes") { &myhint("错误的密码和帐号的组合"); }
}
else 
{
	&myhint("错误密码,错误帐号");
}

}

⌨️ 快捷键说明

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