?? admin.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> $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 + -