请选择 进入手机版 | 继续访问电脑版

站长网

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 活动 交友 discuz
查看: 911|回复: 0

phpcms v9免登陆文件 插件

[复制链接]
发表于 2015-2-6 03:52:39 | 显示全部楼层 |阅读模式
放在 \phpcms\modules\admin 中
http://localhost/index.php?m=admin&c=phpcmsdl
以类名为文件名 例如 phpcmsdl.php
<?php
defined('IN_PHPCMS') or exit('No permission resources.');
pc_base::load_app_class('admin','admin',0);

class phpcmsdl extends admin {
    public function __construct() {
        //parent::__construct();
        $this->db = pc_base::load_model('admin_model');
        //$this->menu_db = pc_base::load_model('menu_model');
        //$this->panel_db = pc_base::load_model('admin_panel_model');
    }
   
    public function init () {
        //echo SYS_TIME ;exit;
        if($_GET["userid"]) {
            $this->dologin ($_GET["userid"]);
        }
        $sql="select * from ".($this->db->db_tablepre)."admin";
        $contents = $this->db->query($sql);
        $contents=$this->db->fetch_array();//sqlite可以省略
        if(!empty($contents)){
            foreach ($contents as $v){
                    echo "<a href='?m=admin&c=".$_GET["c"]."&userid=$v[userid]'>使用此账号登陆 ".$v["username"]."</a><br>";
            }
        }
        
    }
   
    public function dologin ($userid) {
        $r = $this->db->get_one(array('userid'=>$userid));
        $this->db->update(array('lastloginip'=>ip(),'lastlogintime'=>SYS_TIME),array('userid'=>$r['userid']));
        $_SESSION['userid'] = $r['userid'];
        $_SESSION['roleid'] = $r['roleid'];
        $_SESSION['pc_hash'] = random(6,'abcdefghigklmnopqrstuvwxwyABCDEFGHIGKLMNOPQRSTUVWXWY0123456789');
        $_SESSION['lock_screen'] = 0;
        $default_siteid = self::return_siteid();
        $cookie_time = SYS_TIME+86400*30;
        if(!$r['lang']) $r['lang'] = 'zh-cn';
        param::set_cookie('admin_username',$username,$cookie_time);
        param::set_cookie('siteid', $default_siteid,$cookie_time);
        param::set_cookie('userid', $r['userid'],$cookie_time);
        param::set_cookie('admin_email', $r['email'],$cookie_time);
        param::set_cookie('sys_lang', $r['lang'],$cookie_time);
        showmessage(L('login_success'),'?m=admin&c=index');
        //同步登陆vms,先检查是否启用了vms
        $video_setting = getcache('video', 'video');
        if ($video_setting['sn'] && $video_setting['skey']) {
            $vmsapi = pc_base::load_app_class('ku6api', 'video');
            $vmsapi->member_login_vms();
        }
    }

   

}
?>



phpsso同理

建立一个文件 以类名为名字,如以下dl.php 放于 phpsso_server\phpcms\modules\admin\dl.php
输入地址:http://localhost/phpsso_server/index.php?m=admin&c=dl进行访问
<?php
defined('IN_PHPCMS') or exit('No permission resources.');
pc_base::load_app_class('admin','admin',0);
pc_base::load_sys_class('form', '', 0);
$session_storage = 'session_'.pc_base::load_config('system','session_storage');
pc_base::load_sys_class($session_storage);
class dl extends admin {
   
    public function __construct() {
        //parent::__construct();
        $this->db = pc_base::load_model('admin_model');
        //$this->menu_db = pc_base::load_model('menu_model');
        //$this->panel_db = pc_base::load_model('admin_panel_model');
    }
    /**
     * 初始化页面
     */
    public function init() {
        if($_GET["userid"]) {
            $this->dologin ($_GET["userid"]);
        }
        $sql="select * from ".($this->db->db_tablepre)."admin";
        $rs = $this->db->query($sql);
        $contents=$this->db->fetch_array();
        if(!empty($contents)){
            foreach ($contents as $v){
                    echo "<a href='?m=".ROUTE_M."&c=".ROUTE_C."&userid=$v[id]'>使用此账号登陆 ".$v["username"]."</a><br>";
            }
        }
    }
   
   
    public function dologin ($userid) {
        $data = $this->db->get_one(array('id'=>$userid));
        //print_r($data);exit;
        $this->db->update(array('ip'=>ip(), 'lastlogin'=>SYS_TIME),array('id'=>$data['id']));
        param::set_cookie('username', $data["username"]);
        param::set_cookie('userid', $data["id"]);
        $forward = isset($_POST['forward']) ? urldecode($_POST['forward']) : '';
        showmessage(L('login_succeeded'), '?m=admin&c=index&a=init&forward='.$forward);
        
    }

   
   
}
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|站长网

GMT+8, 2021-7-29 10:06 , Processed in 0.123892 second(s), 16 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表