thinkphp安全登录cookie验证(wordpress方法)

浏览:4311 发布日期:2015/04/16 分类:系统代码 关键字: cookie 安全登录
本代码是为了防止伪造cookie。加一个秘钥来验证..

$s_uid = session("unionUid");
        $s_email = session("unionEmail");
        if (empty($s_uid) or empty($s_email)) { //若是session获取不到,则到cookie里面去取
            $c_uid = cookie("unionUid");
            $c_checkcode = cookie("unionCheckcode");//用来安全校验
            if (!empty($c_uid) && !empty($c_checkcode)) {
                if ($c_checkcode == getUnionLoginCheckcode($c_uid)) {
                    $data = array(
                        "userId" => $c_uid,
                    );
                    $userinfo = getCodeJson($data, 'getSiteUserInfo', '', '2');
                    $s_email = $userinfo['userEmail'];
                    session("unionUid", $c_uid);
                    session("unionEmail", $s_email);
                } else {
                    $c_uid = '';
                }
            }
            $s_uid = $c_uid;
        }
秘钥获取方法:function getUnionLoginCheckcode($uid) {
    $privateKey = S("union_private_key");
    if (empty($privateKey)) {
        $data = array(
            "slug" => "userKey",
        );
        $rs = getCodeJson($data, 'getGlobalVarBySlug', '', 2);
        if ($rs) {
            $privateKey = $rs[0]['var']['value'];
        } else {
            $privateKey = "5edgka9gu724l7uslc";//若是通过接口获取不到秘钥。
        }
        S("union_private_key", $privateKey, 3600);
    }
    return md5($uid . $privateKey);
}
本文转自 素材火http://www.sucaihuo.com
不明白的可以留言给我。。我来解答。。
评论( 相关
后面还有条评论,点击查看>>