>  기사  >  백엔드 개발  >  PHP 웹 시스템 다중 도메인 로그인 실패에 대한 솔루션_php 팁

PHP 웹 시스템 다중 도메인 로그인 실패에 대한 솔루션_php 팁

WBOY
WBOY원래의
2016-05-16 20:35:32954검색

이 문서의 예는 PHP 웹 시스템의 다중 도메인 이름 로그인 실패에 대한 해결 방법을 설명합니다. 참고용으로 모든 사람과 공유됩니다. 구체적인 분석은 다음과 같습니다.

다음은 단순한 논리적 구조일 뿐이고, 정형화된 시스템을 위해서는 특별한 처리가 필요합니다.

여기서 주의할 점은 암호화 및 복호화에는 보안 인증이 필요하다는 것입니다. 그러나 이 방법은 완벽하지 않습니다. 두 사이트는 동일한 1차 도메인 이름을 가져야 하며, 이 완전한 쿠키 기반 방법은 충분히 안전하지 않습니다.

function login()
{
  $info = callloginserver(); //访问登录服务器
  if(!empty($info))  //登录成功了
}
//用户没有登录,则在本系统中登录并调用登录服务器接口
function login()  //正常的登录
{
  .......//验证用户的合法性
  $_session['uid'] = $user_id;
  setcookie('sign', encrypt($pass9), '', '/', 'the.com');
}

먼저 로그인 시스템에 사용자가 로그인되어 있는지 확인하세요

funtion sign()
{
 $sign = $_cookie['sign'];
 if(!empty($sign))
 {
   $sign = decrypt($sign);
  ..........///登录成功
 }
}

사용자가 로그인되어 있지 않은 경우 이 시스템에 로그인하고 로그인 서버 인터페이스를 호출하십시오

function loging() //本系统登录
{ 
 .....//登录成功
 callseverlogin();//通知用户登录
}

모든 사이트는 로그인 시스템을 공유합니다. 사용자가 사이트 중 하나에 성공적으로 로그인하면 시스템은 다른 사이트의 로그인 인터페이스를 호출하여 다른 사이트에서 사용자의 로그인을 완료하고 해당 로그인 정보를 설정합니다. 로그인 사용자가 로그인하면 사용자 로그인 정보만 이 시스템에 저장됩니다. 사용자가 다른 사이트에서 로그인하는 경우 사용자의 로그인 여부에 대한 정보를 얻기 위해 시스템 인터페이스에 요청해야 합니다. 전자 방법의 단점은 사용자가 다른 사이트를 사용하는지 여부에 관계없이 해당 사이트에서 사용자 상태를 저장해야 한다는 것입니다. 후자 방법은 모든 압력을 로그인 시스템에 전달합니다. 사용자 종료의 통합 작업을 실현하려면 사이트에서 로그인 시스템의 종료 인터페이스를 호출해야 하며, 그런 다음 로그인 시스템 인터페이스에서 다른 사이트의 종료 인터페이스를 호출하거나 사용자가 종료하도록 표시하는 표시를 설정해야 합니다. 마크가 존재하지 않으면 그냥 마크를 지우십시오. 다른 사이트에서 마크가 존재하지 않는 것을 발견하면 사용자가 시스템을 종료했음을 알 수 있습니다.

이 처리 방법에서는 로그인 시스템과 개별 사이트 간의 로그인 인터페이스와 로그아웃 인터페이스를 규정해야 합니다. 이러한 인터페이스를 통해 각 사이트에서는 사용자 로그인이나 로그아웃을 쉽게 처리할 수 있습니다.

이 기사가 모든 사람의 PHP 프로그래밍 설계에 도움이 되기를 바랍니다.

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