emlog整站代码分析 后台部分globals.php

作者:fly 发布于:2014-2-21 10:07 分类:Emlog

版权声明:本文系www.forwhat.cn原创 ,尊重作者劳动,转载请标明出处。本文转载自www.forwhat.cn谢谢

 

后台部分,这个globals算是比较重要的一个文件了。

 

<?php
/**
 * 后台全局项加载
 * @copyright (c) Emlog All Rights Reserved
 */

//这是调用了init.php。。忘了都干了写什么了,打开看看貌似在init.php中获取了一些基本信息。
require_once '../init.php';

define('TEMPLATE_PATH', EMLOG_ROOT.'/admin/views/');//后台当前模板路径
define('OFFICIAL_SERVICE_HOST', 'http://www.emlog.net/');//官方服务域名

//获取cache目录下相应名字的文件内容,即缓存的信息。
$sta_cache = $CACHE->readCache('sta');

$user_cache = $CACHE->readCache('user');

//又是三目,大致意思是,如果有$_GET中有action成员。则对他进行处理,添加反斜杠,如果没有,就把$action置空
$action = isset($_GET['action']) ? addslashes($_GET['action']) : '';

//登录验证
if ($action == 'login') {
	$username = isset($_POST['user']) ? addslashes(trim($_POST['user'])) : '';
	$password = isset($_POST['pw']) ? addslashes(trim($_POST['pw'])) : '';

	//是否记住我?
	$ispersis = isset($_POST['ispersis']) ? intval($_POST['ispersis']) : false;

	//下边这句大致是说,验证码的事情。
	$img_code = Option::get('login_code') == 'y' && isset($_POST['imgcode']) ? addslashes(trim(strtoupper($_POST['imgcode']))) : '';

	//下边这句开始验证用户名密码,同时打开了session会话控制、
	//切了。
	
        $loginAuthRet = LoginAuth::checkUser($username, $password, $img_code);
    	//现在又切回来。欲知刚才发生了什么,请阅读我对loginauth.php文件的分析
	//总体来说,$loginAuthRet如果为true就是匹配成功,否则,告诉用户,登录失败。
	if ($loginAuthRet === true) {
		
		//又是刚才的类,不切了,我刚看完,还记得。有一串销魂的数字告诉我,有效时间是1年。
		//登录成功之后,设置Cookie//入参就是用户名和是否记住我。	
		LoginAuth::setAuthCookie($username, $ispersis);
		//这个函数没找到,回头再说,先记着。猜测功能是切换至当前目录,莫非是刷新的一种用法?
		emDirect("./");
	} else{
		//登录失败就显示登录页。入参是为啥失败。
		LoginAuth::loginPage($loginAuthRet);
	}
}
//退出
if ($action == 'logout') {
	//表示这31536000=一年+5天。
	意思是,之前设置的记住我,已经失效了。
	setcookie(AUTH_COOKIE_NAME, ' ', time() - 31536000, '/');
	//上一级目录,也即是博客主页
	emDirect("../");
}

if (ISLOGIN === false) {
	//表示如果登录失败或者没有登录,就显示登录页。
	LoginAuth::loginPage();
}

//下边是对其他情况的一个判断了。例如 试图通过URL,来绕过验证进行操作
$request_uri = strtolower(substr(basename($_SERVER['SCRIPT_NAME']), 0, -4));
if (ROLE == ROLE_WRITER && !in_array($request_uri, array('write_log','admin_log','attachment','blogger','comment','index','save_log'))) {
	emMsg('权限不足!','./');
}
//OK,该文件完了,往回切吧。

 

发表评论:

 
Powered by emlog sitemap