2011-11-18 6 views
0

API 서버가 있는데 공개 API를 구현하고 싶습니다. 공개 API 키의 기본 개념은 웹 브라우저에서 호출하는 자바 스크립트 애플리케이션에서이를 사용하는 것입니다. 키가 유효한지 확인하기 위해 도메인 이름이 신뢰할 수있는 도메인 목록에 있는지 확인하려고합니다.PHP : Ajax 요청에 대한 호스트를 얻는 방법?

이런 종류의 호출에 대한 호스트 이름은 어떻게됩니까?

답변

1

API 서버는 $_SERVER['REMOTE_ADDR']을 확인합니다. 그러면 고객의 IP를 얻을 수 있습니다. 호스트 이름 기반 필터링을 수행하는 경우 역방향 DNS 조회를 수행해야 해당 IP를 호스트 이름 (예 : gethostbyaddr())에 매핑해야하지만 모든 IP에 역방향 매핑이 정의되어 있지는 않습니다.

+0

답장을 보내 주셔서 감사합니다. Ajax 호출에 대해이 작업이 가능합니까? 나는 gethostbyaddr를 사용하고 있었지만 $ _SERVER [ 'REMOTE_ADDR']는 클라이언트의 IP가 아니 었습니다 (사용자가 아닌 서버)? php doc은 REMOTE_ADDR에 대해 "사용자가 현재 페이지를보고있는 IP 주소"라고 말합니다. http://php.net/manual/en/reserved.variables.server.php. 그런 다음 유효한 IP가없는 IP 주소에 대해 유효성을 검사하더라도 사용자의 IP를 가져오고 그 대가로 유효한 도메인을 얻지 못합니다. 나 괜찮아? 또는 내가 빠진 것이 있습니까? – Onema

+0

아약스 호출은 브라우저의 백그라운드에서 수행되는 일반적인 http 호출입니다. ajax 호출과 일반적인 "링크 클릭"또는 "양식 제출"요청 간에는 서버 측의 차이점이 없습니다. 사용자의 컴퓨터 또는 통과 할 NAT 게이트웨이 (예 : 집 DSL/케이블 모뎀/라우터)의 IP는 계속 얻을 수 있습니다. –

관련 문제