모바일 단말과 PHP 서버 인터페이스 간의 통신 프로세스 설계를 강화한 버전

WBOY
풀어 주다: 2016-07-29 09:04:01
원래의
1213명이 탐색했습니다.

앞서 언급한 바와 같이: 모바일 단말 및 PHP 서버 인터페이스 통신 프로세스 설계(기본 버전)

api_token 검증을 위해 보안을 더욱 강화할 수 있습니다:

개선 1부:

테이블 2개, 인터페이스 테이블 1개, 인증 테이블 1개를 추가합니다. 디자인 참조는 다음과 같습니다.

인터페이스 테이블

字段名 字段类型 注释
api_id int 接口ID
api_name varchar(120) 接口名,以"/"作为分割线,如 blog/Index/addBlog
api_domain varchar(256) 所属领域
is_enabled tinyint(1) 是否可用  1:可用 0:不可用
add_time int 添加时间(戳)

(참고: 핵심 필드만 나열되며 다른 필드는 확장 가능!!!)

권한 테이블

字段名 字段类型 注释
client_id int 客户端ID
api_id int api编号
api_name varchar(120) 接口名,以"/"作为分割线,如 blog/Index/addBlog
is_enabled tinyint(1) 是否可用  1:可用 0:不可用
add_time int 添加时间(戳)
expire_time int 过期时间(戳)

(참고: 핵심 필드만 나열되며 다른 필드는 확장 가능!!!)

실행 프로세스는 다음과 같습니다.

1, 모바일 단말기와 서버에서 생성된 api_token을 비교합니다. 동일하지 않으면 바로 오류가 반환됩니다.

2. 인터페이스 URL에 따라, api_name과 클라이언트가 반환한 값을 조합합니다. client_id는 매개변수이며, 레코드가 존재하고 유효한 경우(사용 가능 여부, 만료 여부) 이는 권한을 의미합니다. 확인이 통과되고 인터페이스 데이터가 반환됩니다.

향상된 장소 2:

매우 특별한 인터페이스의 경우에는 그렇지 않습니다. 왜 특별한지 또는 어떤 것이 특별한 것으로 간주되는지 알 수 있습니다. 간단히 말해서, http 요청이 하이재킹될 수 있고 전달된 매개변수가 변조될 수 있다고 생각합니다. 예를 들어 보겠습니다.

에는 직접 이체 인터페이스 페이지에 5위안을 입력했는데, 이는 5위안을 상대방에게 이체하겠다는 뜻입니다. 결과적으로 http 이체 과정에서 누군가가 강탈하여 10,000위안으로 변경하였고, 계좌가 변경되었습니다. 생각해 보면 이 문제에 대한 두 가지 해결 방법이 있을 것입니다.

해결 방법 1: https를 사용하세요. 이에 대해서는 자세히 설명하지 않겠습니다.

옵션 2: 디지털 서명 사용, 구현 원칙은 다음과 같습니다.

http 요청, 다음 3개 매개변수를 전달해야 하는 경우

매개변수 이름 1 = 매개변수 값 1

매개변수 이름 2 = 매개변수 값 2

매개변수 이름 3 = 매개변수 값 3

매개변수 이름을 하나 더 추가할 수 있습니다. 이 파라미터의 값은 identity_key(이름은 중요하지 않음)이며, 이 파라미터의 값은 처음 몇 개의 파라미터 값을 순서대로 추가한 후 암호화한 결과입니다.

즉,

identity_key = md5('매개변수 값 1' + '매개변수 값 2' + '매개변수 값 3' + ' 암호화 키');

따라서 전달되는 최종 매개변수는 다음과 같습니다.

매개변수 이름 1=매개변수 값 1

매개변수 이름 2=매개변수 값 2

매개변수 이름 3=매개변수 값 3

client_id=client_id 값

identity_key=md5('매개변수 값 1' + '매개변수 값 2' + '매개변수 값 3'+ ' client_id 값' + '

암호화 키')

서버가 매개변수를 수신한 후 동일한 암호화 규칙에 따라

identity_key를 다시 생성하고 서버의 🎜> Identity_key는 클라이언트의 identity_key와 비교하여 확인됩니다. 동일하지 않으면 변조되었음을 의미합니다. 위 내용은 다양한 측면을 포함하여 모바일 단말기와 PHP 서버 인터페이스 간의 통신 프로세스 설계의 향상된 버전을 소개합니다. PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되기를 바랍니다.

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!