PHP 에서 token 생 성 사례

3704 단어 PHPtoken
php token 생 성
인터페이스 특성 집합:
1.비 개방 적 이기 때문에 모든 인 터 페 이 스 는 폐쇄 적 이 고 회사 내부 의 제품 에 만 효과 가 있 습 니 다.
2.비 개방 적 이기 때문에 OAuth 의 그 협 의 는 통 하지 않 습 니 다.중간 사용자 의 권한 수여 과정 이 없 기 때 문 입 니 다.
3.약간의 인 터 페 이 스 는 사용자 가 로그 인해 야 접근 할 수 있 습 니 다.
4.사용자 로그 인 없 이 접근 할 수 있 는 인터페이스 가 있 습 니 다.
이상 의 특징 에 따라 이동 단 과 서버 의 통신 은 열쇠 2 개,즉 token 2 개가 필요 하 다.
첫 번 째 token 은 인 터 페 이 스 를 위 한(apitoken);
두 번 째 token 은 사용 자 를 위 한(usertoken);
첫 번 째 토 큰(apitoken)
그것 의 직책 은 인터페이스 방문 의 은밀 성과 유효성 을 유지 하고 인 터 페 이 스 를 가족 에 게 만 사용 할 수 있 도록 하 는 것 이다.어떻게 해 야 합 니까?참고 방향 은 다음 과 같다.
현재 의 인 터 페 이 스 는 기본적으로 mvc 모드 이 고 URL 은 기본적으로 restful 스타일 이 며 URL 은 대체적으로 다음 과 같다.
http://blog.snsgou.com/모듈 명/컨트롤 러 명/방법 명?매개 변수 명 1=매개 변수 값 1&매개 변수 명 2=매개 변수 값 2&매개 변수 명 3=매개 변수 값 3
인터페이스 token 생 성 규칙 은 다음 과 같 습 니 다.
api_token=md5('모듈 명'+'컨트롤 러 명'+'방법 명'+'2013-12-18'+'암호 화 키')=770 fed4ca2abd20ae9a5dd774711de 2
그 중의
1.'2013-12-18'은 당일 시간 으로
2.'암호 화 키'는 개인 적 인 암호 화 키 입 니 다.핸드폰 엔 드 는 서버 에서'인터페이스 사용자'계 정 을 등록 한 후에 시스템 은 계 정과 비밀 번 호 를 배정 합 니 다.데이터 시트 디자인 은 다음 과 같 습 니 다.
필드 이름
필드 형식
주석
client_id
varchar(20)
클 라 이언 트 ID
client_secret
varchar(20)
클 라 이언 트(암호 화)키
서버 인터페이스 검사,PHP 구현 프로 세 스 는 다음 과 같 습 니 다.

<?php
// 1、   GET    
$module = $_GET['mod'];
$controller = $_GET['ctl']
$action = $_GET['act'];
$client_id = $_GET['client_id'];
$api_token = $_GET[''api_token];
// 2、          client_id ,     ,      client_secret
$client_secret = getClientSecretById($client_id);
// 3、          api_token
$api_token_server = md5($module . $controller . $action .  date('Y-m-d', time()) .  $client_secret);
// 4、        api_token         api_token     ,     ,       
if ($api_token != $api_token_server) {
    exit('access deny');  //     
}
// 5、    ,        
//。。。
?>
그리고 두 번 째 token(usertoken)
비밀번호 가 새 지 않도록 사용자 이름과 비밀 번 호 를 여러 번 제출 하 는 것 이 직책 이다.
인터페이스 에 사용자 로그 인 이 필요 하 다 면 접근 절 차 는 다음 과 같 습 니 다.
1.사용자 가'사용자 이름'과'비밀번호'를 제출 하여 로그 인(조건 이 허용 되 며 이 단 계 는 https 로 가 는 것 이 좋 습 니 다)을 실현 합 니 다.
2,로그 인 성공 후,서버 에서 user 를 되 돌려 줍 니 다token,생 성 규칙 은 다음 과 같 습 니 다.
서버 에서 데이터 시트 로 user 유지token 의 상태,표 디자인 은 다음 과 같 습 니 다.
필드 이름
필드 형식
주석
user_id
int
사용자 ID
user_token
varchar(36)
사용자 토 큰
expire_time
int
만 료 시간(유 닉 스 타임 스탬프)
(주:핵심 필드 만 열 거 했 으 니 다른 것 은 다시 확장 하 세 요!!)
서버 생 성 usertoken 후 클 라 이언 트(자체 저장)에 게 되 돌아 갑 니 다.클 라 이언 트 가 인터페이스 요청 을 할 때마다 인터페이스 에 사용자 가 로그 인해 야 접근 할 수 있 으 면 userid 와 usertoken 은 서버 에 전송 되 고 서버 에서 이 두 개의 인 자 를 받 아들 인 후에 다음 과 같은 몇 단 계 를 해 야 합 니 다.
1,검 측 apitoken 의 유효성;
2、만 료 된 user 삭제token 표 기록;
3、userid,user_token 은 표 기록 을 가 져 옵 니 다.표 기록 이 존재 하지 않 으 면 오 류 를 되 돌려 줍 니 다.기록 이 존재 하면 다음 단 계 를 진행 합 니 다.
4、업데이트 usertoken 의 만 료 시간(연기,유효기간 내 연속 작업 이 오프라인 되 지 않도록 보증);
5.인터페이스 데 이 터 를 되 돌려 줍 니 다.
인터페이스 용례 는 다음 과 같다.
1.발표 일지
URL: http://blog.snsgou.com/blog/Index/addBlog?client_id=wt3734wy636dhd3636sr5858t6&api_token=880fed4ca2aabd20ae9a5dd774711de2&user_token=etye0fgkgk4ca2aabd20ae9a5dd77471fgf&user_id=12 요청 방식:POST
POST 인자:title=나 는 제목&content=나 는 내용
데이터 되 돌리 기:
{
      'code'=>1,//1:성공 0:실패
      'msg'=>'조작 성공'/로그 인 실패,접근 권한 없 음
      'data' => []
}
PHP 에서 token 의 생 성 사례 에 관 한 이 글 은 여기까지 소개 되 었 습 니 다.더 많은 관련 PHP 생 성 token 내용 은 우리 의 이전 글 을 검색 하거나 아래 의 관련 글 을 계속 조회 하 시기 바 랍 니 다.앞으로 많은 응원 바 랍 니 다!

좋은 웹페이지 즐겨찾기