2012-03-10 3 views
2

모바일 사용자 에이전트에서 가져 와서 장치를 고유하게 식별 할 수있는 정보가 있습니까?모바일 사용자 에이전트 가져 오기 세부 정보

가능한 경우 PHP로 내 아이폰에서 액세스하는 페이지임을 인식하는 페이지를 만들려고합니다. 그 뒤를 따르는 다른 진술은 아무 것도 보여주지 않을 것입니다.

답변

3

당신은 다음 변수를 사용할 수 있습니다

$_SERVER['HTTP_USER_AGENT'] 

입니다 :

이 당신이 할 수 페이지

에 액세스하는 사용자 에이전트를 표시하는 문자열입니다 다음과 같이 사용하십시오 :

if(strstr($_SERVER['HTTP_USER_AGENT'],'Android')) //Android 
{ 

} 
elseif(strstr($_SERVER['HTTP_USER_AGENT'],'iPhone')) //iphone 
{ 

} 
else 
{ 

} 
0

두 프로젝트에서 this을 사용했습니다. 필요에 따라 너무 비대해질 수도 있지만, 필요하지 않은 브라우저 감지 기능을 제외 할 수 있습니다.

브라우저를 검색하는 것 외에도 버전을 감지합니다.

1

당신이 휴대 전화와 함께 제공된 "상자 밖으로"브라우저를 사용하는 경우는 다음이다 하지 가능 에 고유 식별 장치 만 사용자 에이전트 문자열을 기반으로.

User-Agent string은 사용중인 브라우저의 유형, 버전 및 세부 정보 만 식별합니다. 수천 또는 수백만 명의 사람들이 똑같은 브라우저를 사용하고있을 수 있기 때문에 고유하지 않으므로 보안 인증 토큰을 선택하는 것이 좋습니다.

예를 들어, 삼성 갤럭시 S3의 사용자 에이전트 문자열은 다음과 같습니다

모질라/5.0 (리눅스, U, 안드로이드 4.0.4, EN-GB, GT-I9300 빌드/IMM76D) AppleWebKit/534.30 (도마뱀 붙이와 같은 KHTML) 버전/4.0 모바일 사파리/534.30

이 브라우저의 빌드 정보 및 호환성에 대해 설명합니다,하지만 수천 또는 장치의 수백만에 설치되어있는 빌드에 고유합니다.

사용자 에이전트 문자열에 대해 진정으로 고유 한 것이 없기 때문에 모든 수준의 보안을 제공하는 데 사용하지 않는 것이 좋습니다. 최소한 HTTP 기본 인증을 구현하는 것이 좋습니다. HTTP 기본 인증을 사용할 때는 사용자 이름과 비밀번호가 HTTP 인코딩으로 보내지지만 암호화되지 않고 취약하여 가로 챌 수 있으므로 SSL을 사용하도록 설정해야합니다.

실제 보안 보증이 필요한 사이트를 보호하려면 보안 전문가가 아닌 이상 자신의 "인증 스키마"를 롤업하지 않는 것이 좋습니다. OWASP's ESAPI과 같은 보안 프레임 워크 또는 잘 테스트 된 다른 프레임 워크를 사용하는 것이 좋습니다. 인증 시스템을 구축 할 때 오랫동안 잘못 이해할 수있는 방법이 많이 있으므로, 프로덕션 환경에 배치하기 전에 철저히 테스트 된 것을 사용하는 것이 가장 좋습니다.

관련 문제