php token密令,PHP Token(令牌)设计

该博客展示了PHP中使用令牌(Token)进行安全验证的登录过程。代码包括从$_POST获取token,通过GToken::isToken进行验证,比对验证码,处理登录逻辑,并在登录成功后清除token。此外,还涉及到模板引擎的使用,如GTpl,用于渲染登录页面及处理不同登录状态的逻辑。
摘要由CSDN通过智能技术生成

PHP Token(令牌)设计

2009-12-21 23:11:03   出处:https://www.yqdown.com

示例:

首先从$_POST里取出token,用isToken判断.

<?phpinclude ("../common.inc.php");$token = $_POST["token"];if (GToken::isToken($token,"adminLogin",true)) {    $vCode = $_POST["vCode"];    if (strtoupper($vCode) != strtoupper($_SESSION[GConfig::SESSION_KEY_VALIDATE_CODE ])) {        throw new Exception("验证码不正确!");    }            $vo = new VO_Admin();    $vo->setNickName($_POST["name"]);    $vo->setPwd($_POST["pwd"]);        $mo = new MO_Admin();    $mo->setVO($vo);            $f = $mo->login();    if(!$f){        throw new Exception("用户名或密码不正确!");    }else{        GToken::dropToken($token);        //header("location:".GDir::getRelativePath("/admin/index.php"));        echo "here"; //如果是外部提交的,这句就不会打印出来!    }}$sFile = GDir::getAbsPath(GConfig::DIR_SERIALIZE ,"admin/login");$tpl = GSerialize::load($sFile);if ($tpl === false) {    $tpl = new GTpl(GConfig::DIR_SKIN ,GConfig::DEBUG_TPL_FILE );    $tpl->load(array(        "header"    =>    "admin/header.html",        "footer"    =>    "admin/footer.html",        "admLogin"    =>    "admin/login.html",        "admLoginJs"=>    "admin/loginJs.html"    ));        GSerialize::save($tpl,$sFile);}$tpl->assign("title","管理员登陆");$tpl->assign("path",GDir::getRelativePath(SITE_DIR));$tpl->assign("vImg",GDir::getRelativePath("/vImg.php"));if (MO_Admin::isLogined()) {    $tpl->parseBlock("blk_logined");}else {    $tpl->assign("token",GToken::granteToken("adminLogin"));    $tpl->parseBlock("blk_loadScripts","cond_notLogin");        $tpl->parseBlock("blk_notLogin");}echo $tpl->parse("header");echo $tpl->parse("admLogin");echo $tpl->parse("footer");echo $tpl->parse("admLoginJs");?>

分享到

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值