2013-01-22 4 views
1

TL : DR 요청의 UA 문자열을 기반으로 어떤 웹 이메일 클라이언트가 사용되었는지 어떻게 추측 할 수 있습니까?사용자 에이전트를 기반으로 한 유추 된 웹 이메일 응용 프로그램


나는 최근 흥미로운 문제에 부딪 혔습니다. 나는 사용자 에이전트 문자열을 파싱하여 운영 체제 및 브라우저 | 모바일 장치 | 따라서 이것은 사용자 에이전트를 파싱하는 것에 대한 질문이 아닙니다.

제 질문은 이메일을 열 때 어떤 웹 이메일 응용 프로그램을 사용했는지 어떻게 생각합니까?

여기의 시작하려면

일부 데이터입니다 :

Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.52 Safari/537.17 

Browser: Chrome 
OS: Windows 7 

이가 보내진 이메일 주소가 [email protected]하고 있었고, 난에서 Gmail 앱에 액세스했습니다.

UA 문자열은 Chrome입니다. 이메일 응용 프로그램이 사용 된 이메일 주소가 @gmail.com 인 것으로 가정 할 수 없다는 것을 알고 있습니다.

UA 문자열이 다르므로 전자 메일을 모바일 또는 데스크탑 플랫폼에서 읽으면 상당히 쉽게 얻을 수 있습니다. @gmail.com 메일을 Outlook 2010에 보내더라도 이메일 클라이언트는 자신의 UA 문자열을 가지고 있으므로 Outlook 2010이됩니다.

그건 내가 만든 배경과 약간의 가정 일뿐입니다.

편집 : 실제로이 작업을 수행 할 수있는 HERE을 확인했습니다. 귀하의 추적 이미지를 호스트에 HTTPS

답변

1

나는 UA를 확인하는 이메일 클라이언트를 알 수 있다고 생각하지 않습니다. 당신이 말했듯이, 때로는 (예를 들어 "전망") 항상 그런 것은 아닙니다.

"referer"에서 요청을 보낸 곳을 확인할 수 있습니다.

+0

리퍼러는 매우 좋은 대답이지만, 일반적인 http : // 프로토콜을 통해 리퍼러는 요청 추적 이미지에서 숨겨 지지만 프로토콜이 이미지에 안전 할 때 https : // 그러면 리퍼러는 매우 멋지게 표시됩니다. 고맙습니다 –

0

전자 메일 메시지를 작성하는 데 사용 된 소프트웨어에 대한 신뢰할 수있는 추측을하기에 UA 헤더로 충분하지 않은지 의심 스럽습니다. 메시지가 의미있는 UA 헤더를 지정하지 않은 클라이언트 사이에서 변경되었을 수도 있습니다.

나는 메시지의 자세한 내용을 고려할 때 더 신뢰할 수있는 결과를 얻을 수 있다고 생각합니다. 지문과 같은 것을 생성해야합니다. 따라서 일부 규칙/테스트 기반 프레임 워크는 특정 솔루션에 대한 일반적인 세부 사항을 테스트하여 이해할 수 있습니다. 멀티 파트 메시지의 형식적인 구조, 헤더 항목의 순서와 같은 세부 사항.

관련 문제