>  기사  >  백엔드 개발  >  PHP는 사용자가 인스턴스 분석에 로그인했는지 여부를 확인합니다.

PHP는 사용자가 인스턴스 분석에 로그인했는지 여부를 확인합니다.

墨辰丷
墨辰丷원래의
2018-06-01 10:48:503664검색

이 글은 주로 사용자의 로그인 여부를 판단하기 위한 PHP 관련 정보를 소개하고 있습니다. 매우 좋고 참고할만한 가치가 있습니다. 필요하신 분들은 참고하시면 됩니다

1.

2.

<if condition="$GLOBALS[&#39;userinfo&#39;][&#39;user_id&#39;] gt 0">
<span class="help_wz"><a href="{$Think.config.VIP_URL}/Member/user_pwd/" style="color:#404958;">找回登录密码</a></span>
<else/>
<span class="help_wz"><a href="/Login/FindPwd" style="color:#404958;">找回登录密码</a></span>
</if>

3 .백그라운드에서 전역 변수 설정 및 사용자 정보 조회

public function UserInfo($user_id){
//查询系统信息
$system=array(
&#39;CmdId&#39;=>&#39;System&#39;,
&#39;Token&#39;=>&#39;wap&#39;,
&#39;PostDetails&#39;=>json_encode(array(
)));
//通过curl的post方式发送接口请求
$curl=new CurlController();
$strs=$curl->SendCurl($system);
$GLOBALS[&#39;system&#39;]=$strs[&#39;AcctDetails&#39;];
if(empty($user_id)){
return false;
}
setcookie("login_uid", $user_id, time() + 3600, "/", C(&#39;cookie_url&#39;));
setcookie("rdun", $this->authcode($user_id . "," . time(), "ENCODE"), time() + 3600,"/",C(&#39;cookie_url&#39;));;
$data=array(
&#39;CmdId&#39;=>&#39;Inpidual&#39;,
&#39;Token&#39;=>session(&#39;token&#39;),
&#39;PostDetails&#39;=>json_encode(array(
&#39;user_id&#39;=>$user_id,
)));
//通过curl的post方式发送接口请求
$curl=new CurlController();
$str=$curl->SendCurl($data);
$GLOBALS[&#39;userinfo&#39;]=$str[&#39;AcctDetails&#39;];
$newtoken=unserialize($str[&#39;AcctDetails&#39;][&#39;token&#39;]);
$oldtoken=unserialize(session(&#39;token&#39;));
if(!empty(session(&#39;token&#39;)) && !empty($str[&#39;AcctDetails&#39;][&#39;token&#39;])){
//用户不对
if($newtoken[&#39;user_id&#39;] !== $newtoken[&#39;user_id&#39;]){
session(&#39;token&#39;,null);
session(&#39;user_id&#39;,null);
header(&#39;Location:/Login/Login&#39;);
return false;
}
//token不对
if($newtoken[&#39;time&#39;] !== $oldtoken[&#39;time&#39;]){
session(&#39;token&#39;,null);
session(&#39;user_id&#39;,null);
header(&#39;Location:/Login/Login&#39;);
return false;
}
//超时的不能在这做,原因是存入session的值不变,如果用户一直操作的话,而且只登陆一次,那么就会出现问题
}
return true;
}

요약: 위 내용은 이 글의 전체 내용입니다. 모든 분들의 학습에 도움이 되길 바랍니다.

관련 권장 사항:

PHP에서 명령 공간을 정의할 때 주의할 몇 가지 사항

PHP가 원격 주소를 요청하는 시간 제한을 설정하는 솔루션

phpExcel 테이블을 쉽게 가져올 수 있음 PHPExcel을 통한 MySQL 데이터베이스 예제

위 내용은 PHP는 사용자가 인스턴스 분석에 로그인했는지 여부를 확인합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.