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

📄 profile.cgi

📁 一个linux论坛
💻 CGI
📖 第 1 页 / 共 5 页
字号:
#!/usr/bin/perl
#############################################################
#  LeoBoard ver.5000 / LB5000 / 雷傲超级论坛 ver.5000
#
#  版权所有: 雷傲工作室(原蓝宝石软件工作室)
#
#  制作人  : 山鹰糊 (Shining Hu)
#            花无缺 (Ifairy Han)
#
#  主页地址: http://www.CGIer.com/      CGI 编程者之家
#	     http://www.LeoBoard.com/   雷傲论坛支持主页
#	     http://www.leoBBS.com/     本论坛直通车
#            http://mail@17do.com/      大家一起邮
#
#############################################################
BEGIN {
    $LBPATH = '.';
    my $pgm = $0;
    $pgm =~s/\\/\//g;
    $pgm =~s/^.*\/([^\/]+)$/$1/g;
    unless (-e $LBPATH.'/'.$pgm) {
        foreach ($0, $ENV{'SCRIPT_FILENAME'}, $ENV{'PATH_TRANSLATED'}) {
            s!\\!/!g; s/^(.*)\/[^\/]+$/$1/g;
            if (-e $_ . '/' .$pgm) { $LBPATH = $_; last; }
        }
    }
    unshift (@INC, "$LBPATH");
#	$ENV{'TMP'}="$LBPATH/lock"; #如果你不能上传图片,请去掉前面的#
#   $ENV{'TEMP'}="$LBPATH/lock";#如果你不能上传图片,请去掉前面的#
}
use LBCGI;
$LBCGI::POST_MAX=1024*150;
$LBCGI::DISABLE_UPLOADS = 0;
$LBCGI::HEADERS_ONCE = 1;
require "code.cgi";
require "data/boardinfo.cgi";
require "data/styles.cgi";
require "data/membertitles.cgi";
require "lbmail.lib.pl";
require "lb.lib.pl";
$|++;                                    # Unbuffer the output
$thisprog = "profile.cgi";
$query = new LBCGI;

&ipbanned; #封杀一些 ip
if ($COOKIE_USED eq 1) {$cookiepath ="";}
else {
    $boardurltemp =$boardurl;
    $boardurltemp =~ s/http\:\/\/(\S+?)\/(.*)/\/$2/;
    $cookiepath = $boardurltemp;
    $cookiepath =~ s/\/$//;
#    $cookiepath =~ tr/A-Z/a-z/;
}

$addme=$query->param('addme');

if ($arrowavaupload ne "on") { undef $addme; }

$action              = $query -> param('action');
$inmember            = $query -> param('member');
$inmember =~ s/\///g;
$inmember =~ s/\.\.//g;
$inmembername        = $query -> param("membername");
$inpassword          = $query -> param("password");
$oldpassword         = $query -> param("oldpassword");
$action              = &cleaninput("$action");
$inmember            = &cleaninput("$inmember");
$inmembername        = &cleaninput("$inmembername");
$inpassword          = &cleaninput("$inpassword");
$oldpassword         = &cleaninput("$oldpassword");

    if (! $inmembername) { $inmembername = $query->cookie("amembernamecookie"); }
    if (! $inpassword)   { $inpassword   = $query->cookie("apasswordcookie"); }
$inmembername =~ s/[\a\f\n\e\0\r\t\`\~\!\@\#\$\%\^\&\*\(\)\+\=\\\{\}\;\'\:\"\,\.\/\<\>\?]//isg;
$inpassword =~ s/[\a\f\n\e\0\r\t\|\@\;\#\{\}\$]//isg;

    if (($inmembername eq "")&&($action ne "lostpass")&&($action ne "lostpassword")&&($action ne "sendpassword")){
    	$inmembername = "客人";
    	$userregistered = "no";
    	if ($dispprofile eq "no") {
            print header(-charset=>gb2312);
            &error("查看会员资料&客人无权查看会员资料!")
        }
    }
    else {
#		&getmember("$inmembername");
		&getmembernolock("$inmembername");
                &error("普通错误&此用户根本不存在!") if (($userregistered eq "no")&&($action ne "lostpass")&&($action ne "lostpassword")&&($action ne "sendpassword"));
		&error("普通错误&密码与用户名不相符,请重新登录!") if ($inpassword ne $password && $action eq "show");
        }
	if ($arrawsignpic eq "on") { $signpicstates = "允许";} else {$signpicstates = "禁止";}
	if ($arrawsignflash eq "on") { $signflashstates = "允许";} else {$signflashstates = "禁止";}
	if ($arrawsignfontsize eq "on") { $signfontsizestates = "允许";} else {$signfontsizestates = "禁止";}
	if ($arrawsignsound eq "on") { $signsoundstates = "允许";} else {$signsoundstates = "禁止";}
    # Print the page title

    &title;
    if ($boardlogo =~ /\.swf$/i) {$forumgraphic = qq~<PARAM NAME=PLAY VALUE=TRUE><PARAM NAME=LOOP VALUE=TRUE><PARAM NAME=QUALITY VALUE=HIGH><embed src=$imagesurl/myimages/$boardlogo quality=high width=$boardlogow height=$boardlogoh pluginspage="http:\/\/www.macromedia.com\/shockwave\/download\/index.cgi?P1_Prod_Version=ShockwaveFlash" type="application\/x-shockwave-flash"><\/embed>~}
        else {$forumgraphic = qq~<img src=$imagesurl/myimages/$boardlogo>~};
    $output .= qq~
    <table cellpadding=0 cellspacing=0 border=0 width=$tablewidth align=center>
        <tr>
            <td width=30% rowspan=2 valign=top>
            $forumgraphic
            </td>
            <td valign=top align=left>
                <font color=$fontcolormisc>
	              <img src="$imagesurl/images/closedfold.gif" border=0> <a href="leoboard.cgi">$boardname</a><br>
                  <img src="$imagesurl/images/bar.gif" border=0 width=15 height=15><img src="$imagesurl/images/openfold.gif" border=0> 用户资料
            </td>
        </tr>
    </table>
    <p>
    <table cellpadding=0 cellspacing=0 border=0 width=$tablewidth bgcolor=$tablebordercolor align=center>
    <tr><td>
    <table cellpadding=6 cellspacing=1 border=0 width=100%>
    ~;
    my %Mode = (
    'show'                 =>    \&showprofile,
    'shows'                =>    \&showprofile,
    'process'              =>    \&savemodify,
    'lostpassword'         =>    \&lostpasswordform,
    'lostpass'             =>    \&lostpasswordform,
    'sendpassword'         =>    \&sendpassword,
    'modify'               =>    \&modify,
    );
    if($Mode{$action}) {
        $Mode{$action}->();
        }
        else{
        $inmembername =~ s/\_/ /g;
        $output .= qq~
        <tr>
        <td bgcolor=$miscbacktwo valign=middle colspan=2 align=center>
        <form action="$thisprog" method="post">
        <input type=hidden name="action" value="modify">
        <font color=$fontcolormisc><b>请登录后修改你的个人资料</b></font></td></tr>
        <tr>
        <td bgcolor=$miscbackone valign=middle><font color=$fontcolormisc>请输入您的用户名</font></td>
        <td bgcolor=$miscbackone valign=middle><input type=text name="membername" value="$inmembername"></td></tr>
        <tr>
        <td bgcolor=$miscbackone valign=middle><font color=$fontcolormisc>请输入您的密码</font></td>
        <td bgcolor=$miscbackone valign=middle><input type=password name="password" value="$inpassword"></td></tr>
        <tr>
        <td bgcolor=$miscbacktwo valign=middle colspan=2 align=center><input type=submit name="submit" value="登 陆"></td></form></tr></table></td></tr></table>
        ~;
        } # end else

        print header(-charset=>gb2312);
        &output(
	           -Title   => $boardname,
	           -ToPrint => $output,
	           -Version => $versionnumber
	            );
	# lost password routine
	sub lostpasswordform {
	    $helpurl = &helpfiles("遗忘密码");
	    $helpurl = qq~$helpurl<img src="$imagesurl/images/help_b.gif" border=0></a>~;

	    $output =~ s/\&nbsp\;用户资料/\&nbsp\;忘记密码/g;

	    $output .= qq~
	    <p>
	    <tr>
	    <td bgcolor=$miscbacktwo valign=middle colspan=2 align=center>
	    <form action="$thisprog" method="post">
	    <input type=hidden name="action" value="sendpassword">
	    <font color=$fontcolormisc><b>请输入您的用户名,我们可以将您的密码通过邮件发给您!</b></font></td></tr>
	    <tr>
	    <td bgcolor=$miscbackone><font color=$fontcolormisc>请输入您的用户名</td>
	    <td bgcolor=$miscbackone><input type=text name="membername">  $helpurl</td></tr>
		<tr> 
	    <td bgcolor=$miscbacktwo valign=middle colspan=2 align=center> 
	    <font color=$fontcolormisc><b>如你没有填写正确的E-Mail可以输入密码提示问题和答案取得密码!</b></font></td></tr> 
	    <tr> 
	    <td bgcolor=$miscbackone><font color=$fontcolormisc>请输入密码提示问题</td> 
	    <td bgcolor=$miscbackone><input type=text size=20 name="getpassq"></td></tr> 
	    <tr> 
	    <td bgcolor=$miscbackone><font color=$fontcolormisc>请输入密码提示答案</td> 
	    <td bgcolor=$miscbackone><input type=text size=20 name="getpassa"></td></tr> 
	    <td bgcolor=$miscbacktwo valign=middle colspan=2 align=center><input type=submit name=submit value="提 交">
	    </td></form></tr></table></td></tr></table>
	    ~;
	} # end lost password form.
	sub sendpassword {
	$ingetpassq        = &cleaninput($query -> param("getpassq")); 
    $ingetpassa        = &cleaninput($query -> param("getpassa")); 
#	&getmember("$inmembername");
	if (($membercode eq "ad")||($membercode eq "smo")) { &blocked; }

	elsif(($ingetpassq ne "")&&($ingetpassa ne "")){ 
		my ($getpassq, $getpassa) =split(/\|/,$userquestion); 
		if(($ingetpassq eq $getpassq)&&($ingetpassa eq $getpassa)&&($membercode ne "mo")&&($membercode ne "cmo")){ 
		$output .= qq~ 
		<tr><td bgcolor=$miscbacktwo valign=middle align=center><font color=$fontcolormisc><b>你好,$inmembername</b></font></td></tr> 
		<tr><td bgcolor=$miscbackone align=center><font color=$fontcolormisc>应您的要求,现将您的密码显示!</td></tr> 
		<tr><td bgcolor=$miscbackone align=center><font color=$fontcolormisc> 
		您的用户名称:$inmembername<br> 
		您的密码是:$password 
		</td></tr></table></td></tr></table> 
		~; 
		}else{ 
		$output .= qq~ 
		<tr><td bgcolor=$miscbacktwo valign=middle align=center><font color=$fontcolormisc><b>非常抱歉,$inmembername</b></font></td></tr> 
		<tr><td bgcolor=$miscbackone align=center><font color=$fontcolormisc> 
		你所输入的密码提示问题和答案不正确,或是你没有在个人资料中填写! (注:如果你是斑竹,出于安全考虑,请用邮件取回密码!)
		</td></tr></table></td></tr></table> 
		~; 
		} 
		} 


	elsif ($emailfunctions eq "off") { #  if close Email functions
	$output .= qq~
<tr><td bgcolor=$miscbacktwo valign=middle align=center><font color=$fontcolormisc><b>非常抱歉,$inmembername</b></font></td></tr>
<tr><td bgcolor=$miscbackone align=center><font color=$fontcolormisc>
由于这个论坛的发送邮件功能已经关闭,请通过另外的途径来联系坛主而拿取您的密码!
</td></tr></table></td></tr></table>
~;}
	elsif ($userregistered ne "no") { # start emailing functions
	                $message .= "\n";
	                $message .= "$boardname <br>\n";
	                $message .= "$boardurl/leoboard.cgi \n<br><br>\n";
	                $message .= "------------------------------------<br>\n";
	                $message .= "应您的要求,现将您的密码寄给您!\n <br><br>\n";
	                $message .= "您的用户名:$inmembername <br>\n";
	                $message .= "您的密码是:$password\n <br><br>\n";
	                $message .= "------------------------------------<br>\n";
	                $to = $emailaddress;
	                $from = $adminemail_out;
	                $subject = "忘记密码[$boardname]";
	                &sendmail($from, $from, $to, $subject, $message );

⌨️ 快捷键说明

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