공개 계정이 없는 웹사이트에 대해 웹페이지 인증 로그인을 구현하는 것이 좋습니다 <?php <br />
// +---------------------------------- --- ----------<br>
// | OneThink [ 생각만 하면 할 수 있어요 ]<br>
// +---------------------------------- --- ----------<br>
// | Copyright (c) 2013 http://www.onethink.cn All Rights Reserved.<br>
// +---------------------------------- --- ----------<br>
// | 작성자: 아트 네트워크 <br>
// +---------------------------------- --- ---------- <br>
네임스페이스 HomeController;<br>
ThinkController를 사용하세요.<br>
/**<br>
* 공개 계정 관리<br>
*/ <br>
클래스 WebauthController는 컨트롤러 { <br>를 확장합니다.
/*id 공개 계정 아이디<br>
*url 점프주소<br>
*범위 인증 방법 허위 자동 인증 <br>
*/<br>
공용 함수 인덱스(){<br>
// $map ['id'] = '114';//I ( 'id', 0, 'intval' );<br>
// $info = M ( 'member_public' )->where ( $map )->find () <br>;
$info=배열(<br>
'appid' =>
'appsecret' => ,
);<br>
<br>
$redirect_url=U('Webauth/index');//콜백 주소<br>
$code=I('get.code');<br>
$scope=I('get.scope');<br>
if(비어 있음($scope)){<br>
$scope=false;<br>
}그 외{<br>
$scope=true;<br>
}<br>
If(비어 있음($code)){ <br>
$url='http://ky.xebox.cn/index.php/Index/Index/index/';//전송 주소<br>
Yoauth($info['appid'],$redirect_url,$scope,$url);<br>
}<br>
$data=Yoauth_access_token($info['appid'],$info['secret'],$code) <br>
$canshu=http_build_query($data); <br>
echo $URL=I('get.state').'?'.$canshu;<br>
리디렉션($URL);<br>
} <br>
} <br>
/***********************************WeChat 웹페이지 인증************** * **************************/<br>
<br>
/* 1단계: 사용자가 코드 승인 및 획득에 동의합니다. <br>
$appid;//공개 계정 appid<br>
$redirect_url;//인증 후 리다이렉트된 콜백 링크 주소입니다. urlencode를 이용해 링크를 처리해주세요<br>
$response_type;//반환 유형, 코드를 입력해주세요<br>
$scope;//애플리케이션 인증 범위, snsapi_base는 인증 페이지를 팝업하지 않고 직접 점프하여 사용자 openid만 얻을 수 있음), snsapi_userinfo (인증 페이지 팝업, openid를 통해 별명, 성별, 위치를 얻을 수 있음) 그리고, 팔로우를 하지 않더라도 의 경우에는 사용자가 승인하면 해당 사용자의 정보도 얻을 수 있습니다. <br>
$state;//리디렉션 후 상태 매개변수가 포함됩니다. 공식 계정 ID를 입력하여 사용자가 어떤 공식 계정에서 왔는지 확인할 수 있습니다<br>
*/ <br>
함수 Yoauth($appid,$redirect_url,$scope=true,$state='ypwl',$response_type="code"){ <br>
If($범위){<br>
$scope='snsapi_userinfo';//팝업 웹페이지 승인<br>
}그밖에{<br>
$scope='snsapi_base';//자동 인증<br>
}<br>$map ['appid'] = $appid;<br>
$map ['redirect_uri'] = $redirect_url;<br>
$map ['response_type'] = $response_type;<br>
$map ['범위'] = $scope;<br>
$map ['상태'] = $상태;<br>
$url = 'https://open.weixin.qq.com/connect/oauth2/authorize?' http_build_query ( $map ) '#wechat_redirect';<br>
리디렉션($url) <br>
}<br>
/* 2단계: 웹페이지 인증 access_token 코드를 교환하고 사용자 정보를 획득하여 이후 단계 생략<br>
참고: 이 단계가 자동 모드에서 수행되면 완료되고 사용자의 openid가 직접 반환됩니다. snsapi_base 스타일 웹 페이지 인증 프로세스는 여기서 끝납니다. <br>
appid는 공식 계정의 고유 식별자입니다<br>
그 비밀은 공식계정의 앱비밀<br>
첫 번째 단계에서 얻은 코드 매개변수에 코드가 채워집니다<br>
grant_type은 Authorization_code로 채워집니다 <br>
*/<br>
함수 Yoauth_access_token($appid,$secret,$code,$grant_type='authorization_code'){ <br>
$map ['appid'] = $appid;<br>
$map ['비밀'] = $비밀;<br>
$map ['코드'] = $code;<br>
$map ['grant_type'] = $grant_type <br>
$url = 'https://api.weixin.qq.com/sns/oauth2/access_token?'. http_build_query ( $map ) ;<br>
$content = file_get_contents ( $url );<br>
$content = json_decode ( $content, true );<br>
If (! 비어 있음 ( $content ['errmsg'] )) {<br>
종료( $content ['errcode'].'--'.$content['errmsg'] );<br>
}<br>
//인증 방법 결정<br>
If($content['scope'] == 'snsapi_userinfo'){<br>
$content=Yoauth_userinfo($content['access_token'],$content['openid']);//WeChat 사용자 정보 가져오기<br>
}<br>
$content 반환;<br>
}<br>
/*<br>
3단계: access_token 새로 고침(필요한 경우) <br>
*/<br>
/* 4단계: 사용자 정보 가져오기(snsapi_userinfo 범위가 필요함) <br>
Access_token 웹 페이지 인증 인터페이스 호출 인증서, 참고: 이 access_token은 기본적으로 지원되는 access_token과 다릅니다 <br>
openid 사용자의 고유 식별자<br>
lang 국가 및 지역 언어 버전으로 돌아가기, zh_CN 중국어 간체, zh_TW 중국어 번체, en 영어<br>
*/<br>
함수 Yoauth_userinfo($access_token,$openid,$lang='zh_CN'){ <br>
$map ['access_token'] = $access_token;<br>
$map ['openid'] = $openid;<br>
$map ['lang'] = $lang <br>
$url = 'https://api.weixin.qq.com/sns/userinfo?' http_build_query ( $map );<br>
$content = file_get_contents ( $url );<br>
$content = json_decode ( $content, true );<br>
If (! 비어 있음 ( $content ['errmsg'] )) {<br>
종료( $content ['errcode'].'--'.$content['errmsg'] );<br>
}<br>
$content 반환;<br>
} <br>
/* 사용자 openid가 사용자 정보를 가져옵니다<br>
access_token은 호출 인터페이스 자격 증명입니다<br>
Openid는 일반 사용자의 식별번호로 현재 공개 계정에 고유한 식별자입니다<br>Lang No 국가 및 지역으로 돌아가기 언어 버전, zh_CN 중국어 간체, zh_TW 중국어 번체, en 영어 <br>
*/<br>
함수 Yget_wx_userinfo($openid,$access_token,$lang='zh_CN'){<br>
$map ['access_token'] = $access_token;<br>
$map ['openid'] = $openid;<br>
$map ['lang'] = $lang <br>
$url = 'https://api.weixin.qq.com/cgi-bin/user/info?'. http_build_query ( $map );<br>
$content = file_get_contents ( $url );<br>
$content = json_decode ( $content, true );<br>
If (! 비어 있음 ( $content ['errmsg'] )) {<br>
종료( $content ['errcode'].'--'.$content['errmsg'] );<br>
}<br>
$content 반환;<br>
}

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

MinGW - Windows용 미니멀리스트 GNU
이 프로젝트는 osdn.net/projects/mingw로 마이그레이션되는 중입니다. 계속해서 그곳에서 우리를 팔로우할 수 있습니다. MinGW: GCC(GNU Compiler Collection)의 기본 Windows 포트로, 기본 Windows 애플리케이션을 구축하기 위한 무료 배포 가능 가져오기 라이브러리 및 헤더 파일로 C99 기능을 지원하는 MSVC 런타임에 대한 확장이 포함되어 있습니다. 모든 MinGW 소프트웨어는 64비트 Windows 플랫폼에서 실행될 수 있습니다.

SublimeText3 Linux 새 버전
SublimeText3 Linux 최신 버전

DVWA
DVWA(Damn Vulnerable Web App)는 매우 취약한 PHP/MySQL 웹 애플리케이션입니다. 주요 목표는 보안 전문가가 법적 환경에서 자신의 기술과 도구를 테스트하고, 웹 개발자가 웹 응용 프로그램 보안 프로세스를 더 잘 이해할 수 있도록 돕고, 교사/학생이 교실 환경 웹 응용 프로그램에서 가르치고 배울 수 있도록 돕는 것입니다. 보안. DVWA의 목표는 다양한 난이도의 간단하고 간단한 인터페이스를 통해 가장 일반적인 웹 취약점 중 일부를 연습하는 것입니다. 이 소프트웨어는

Atom Editor Mac 버전 다운로드
가장 인기 있는 오픈 소스 편집기

안전한 시험 브라우저
안전한 시험 브라우저는 온라인 시험을 안전하게 치르기 위한 보안 브라우저 환경입니다. 이 소프트웨어는 모든 컴퓨터를 안전한 워크스테이션으로 바꿔줍니다. 이는 모든 유틸리티에 대한 액세스를 제어하고 학생들이 승인되지 않은 리소스를 사용하는 것을 방지합니다.
