欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  php教程

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

程序员文章站 2022-05-01 18:03:17
...
本代码是为了防止伪造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
不明白的可以留言给我。。我来解答。。

AD:真正免费,域名+虚机+企业邮箱=0元