>백엔드 개발 >PHP 튜토리얼 >thinkphp5 WeChat 공개 계정 토큰 인증

thinkphp5 WeChat 공개 계정 토큰 인증

不言
不言원래의
2018-04-19 14:38:284000검색

이 글의 내용은 thinkphp5 WeChat 공개 계정의 토큰 인증에 관한 것입니다. 이제 모든 사람과 공유합니다. 도움이 필요한 친구들은 이를 참조할 수 있습니다.

먼저 설명하겠습니다. Thinkphp5 프레임워크를 사용하여 WeChat 공용 계정을 개발하는데, 프레임워크를 사용하지 않으면 개발이 매우 번거롭다고 할 수 있습니다. 나중에 우분투 환경에서 개발을 시작했는데 할 수 없는 문제가 발생했습니다. 그래서 Windows 개발환경으로 전환하여 개발했는데, 에디터로 notepad++를 사용했습니다. 이 기능은 매우 강력합니다. Thinphp5의 다운로드 주소는 여기입니다: http://www. .thinkphp.cn/down.html 개인 취향에 따라 다운로드할 수 있습니다.

아래에서 자세한 내용을 소개하려면 먼저 공개 계정을 등록해야 합니다. , 그러면 아래 그림과 같이 직접 로그인할 수 있습니다.


인터페이스에 들어간 후 자세한 등록 과정은 자세히 설명되지 않습니다. WeChat 개발 문서를 볼 수 있습니다: https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1472017492_58YV5 필요에 따라 클릭하여 볼 수 있습니다. 여기에서는 개인 사용자인 경우를 말씀드리고 싶습니다. , 가입 계정을 선택하세요. 기업인 경우 서비스 계정을 선택하세요. 개인은 실명등록이 필요하고, 기업은 신청 후 로그인이 필요합니다. 아래와 같이 페이지를 입력한 후 왼쪽 하단에 있는 기본 구성을 클릭합니다.


아래와 같이 구성 페이지를 입력합니다.


위 내용이 이미 구성되어 있지 않은 경우 그림의 비활성화 기호에 활성화라는 단어가 표시되고 아래에는 정보가 채워지지 않았습니다. 먼저 구성 수정을 클릭한 후 서버를 입력해야 합니다. URL 주소. 이 주소는 외부 네트워크에서 액세스할 수 있어야 합니다. 여기서 사용되는 소프트웨어는 natapp입니다. 입장 후 등록을 하신 후 실명인증을 거쳐야 채널을 구매하실 수 있습니다. 무료 채널을 구매하신 후, 튜토리얼을 따라하시면 ​​컴퓨터를 개발 환경으로 활용하실 수 있습니다. 물론, 다른 구매도 신청하실 수 있습니다. Alibaba Cloud 및 Sina Cloud, Tencent Cloud 등의 서버

WeChat 개발팀에서 제공한 인증 링크를 확인해야 합니다. 1 ) 토큰, 타임스탬프, nonce 결합 매개변수는 사전순으로 정렬됩니다. 2) sha1 암호화를 위해 세 개의 매개변수 문자열이 하나의 문자열로 엮어집니다. 3) 개발자가 얻은 암호화된 문자열을 서명과 비교하여 요청이 시작된 것인지 식별할 수 있습니다. WeChat의 세 가지 요청은 실제로 매우 간단합니다. 소스 코드도 포함된 WeChat 공개 개발 문서를 확인하세요. 아래 코드를 추가해 보겠습니다.

public function index(){
		$timestamp = $_GET['timestamp'];		
        $nonce     = $_GET['nonce'];
        $token     = '你定义的token令牌';
        $signature = $_GET['signature'];
        $array     = array($timestamp,$nonce,$token);
        sort($array);
        //将排序后的三个参数拼接之后参数拼接之后进行sha1加密
        $tmpstr    = implode('',$array);
        $tmpstr    = sha1($tmpstr);$this->wxLog('hello');
        //将加密后的字符串与signature进行对比;
        if($tmpstr == $signature && isset($_GET['echostr'])){
                echo $_GET['echostr'];
                exit;
        }else{
			
			$this->responseMsg();
		
		}
	}

·간단한 설명, 여기에 간단히 추가했습니다. 판단에 따르면, 토큰을 검증하지 않으면 그냥 가져가겠습니다. 해당 WeChat이 병합되면 검증을 수행할 필요가 없으며, 토큰 검증이 아니면 WeChat 서버에서 데이터를 전송하지 않습니다. echostr 필드이므로 해당 데이터가 없으면 응답 정보 등 관련 작업을 수행합니다. 토큰 인증이 실패하면 파일 저장 경로가 올바른지, 코드에 문제가 있는지 확인하십시오. 인증이 성공하기까지 여러 번 우회했습니다. 처음에는 인증에 실패해도 상관없습니다.

natapp을 신청하고 내부 침투를 완료한 후 URL에 웹사이트 주소를 입력하세요. 참고: 이 URL은 코드 문자열이 포함된 파일인 인터페이스 파일에 직접 액세스할 수 있어야 합니다. 그런 다음 위의 코드에 정의된 토큰을 입력하고 "메시지 암호화 및 암호 해독 키"를 무작위로 생성한 후 제출을 클릭하면 처음에는 인증이 실패할 수 있습니다. .인증에 실패할 경우 코드와 URL을 잘 확인하셔야 합니다. URL을 잘못 입력해서 계속 인증이 실패하니 반드시 올바른 URL 주소를 입력해주셔야 접수가 가능합니다. 기능을 개발해보세요~! H 관련 권장 사항: inThinkPHP5.0 프레임워크 독립적 구성 및 동적 구성 방법

thinkphp 숨겨진 index.php IIS Apache nginx

PHP WeChat 공개 계정 개발을 통해 사용자 WeChat 개인 정보 확보

위 내용은 thinkphp5 WeChat 공개 계정 토큰 인증의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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