user-pic

[旧文]解决从动网6.0转雷傲后,用户密码问题

Vote 0 Votes

原来的改法是针对LB5000的,已经失效。
新的改法应该是

然后:打开loginout.cgi,
找到


if ($inpassword ne "") {
   eval {$inpassword = md5_hex($inpassword);};
   if ($@) {eval('use Digest::MD5 qw(md5_hex);$inpassword = md5_hex($inpassword);');}
   unless ($@) {$inpassword = "lEO$inpassword";}
}

改成

if ($inpassword ne "") {
   eval {$inpassword = md5_hex($inpassword);};
   if ($@) {eval('use Digest::MD5 qw(md5_hex);$inpassword = md5_hex($inpassword);');}
   unless ($@)  {
 $DVpassword = substr ($inpassword,8,16);
 $DVpassword = md5_hex($DVpassword);
 $inpassword = "lEO$inpassword";
 $DVpassword="lEO$DVpassword"; }
}


找到

if ($action eq "login") {
  &cleanolddata;
  if (($userregistered ne "no") && ($inpassword eq $password)) {
&whosonline("$inmembername\t论坛登录\tnone\t登录论坛\t");

改成

if ($action eq "login") {
  &cleanolddata;
  if (($userregistered ne "no") && (($inpassword eq $password) || ($DVpassword eq $password))) {
     if ($DVpassword eq $password) {
         require "plugin.lib.pl";
         &upinfodata( name => "$inmembername", password =>"$inpassword");
  }
&whosonline("$inmembername\t论坛登录\tnone\t登录论坛\t");


原因 :DV的加密不是单纯的Md5加密。而是加密了以后采用加密数字的8-16位做密码。而leo是加密了以后全部数字+上LEO前缀。

Add a Reply

Forum Groups

Good Perl Books

Perl 學習手札

作者:簡信昌

Perl 學習手札 , 一本优秀的中文Perl在线学习资料。

Perl 程序讨论区

12 50

Last Topic: [注意]本区文章归档区 by 路杨 on Oct 16, 2006

事物处理及其他

113 1410

Last Topic: 踩个脚印 by 眼睛oo on Dec 4, 2010

测试私密区

测试私密区

18 88

Notice: 用于测试程序或者不可告人之秘密。不要问我要密码哦。。[此为原LB_ES论坛系统保留项,只限原有权限朋友进入,不再接受注册]

OpenID accepted here Learn more about OpenID