KR20160083930A - 웹사이트에 로그인하는 단말기가 모바일 단말기인지를 결정하기 위한 방법 및 시스템 - Google Patents

웹사이트에 로그인하는 단말기가 모바일 단말기인지를 결정하기 위한 방법 및 시스템 Download PDF

Info

Publication number
KR20160083930A
KR20160083930A KR1020167015076A KR20167015076A KR20160083930A KR 20160083930 A KR20160083930 A KR 20160083930A KR 1020167015076 A KR1020167015076 A KR 1020167015076A KR 20167015076 A KR20167015076 A KR 20167015076A KR 20160083930 A KR20160083930 A KR 20160083930A
Authority
KR
South Korea
Prior art keywords
token
terminal
valid
browser
server
Prior art date
Application number
KR1020167015076A
Other languages
English (en)
Other versions
KR101850677B1 (ko
Inventor
텡페이 팡
Original Assignee
알리바바 그룹 홀딩 리미티드
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 알리바바 그룹 홀딩 리미티드 filed Critical 알리바바 그룹 홀딩 리미티드
Publication of KR20160083930A publication Critical patent/KR20160083930A/ko
Application granted granted Critical
Publication of KR101850677B1 publication Critical patent/KR101850677B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0876Network architectures or network communication protocols for network security for authentication of entities based on the identity of the terminal or configuration, e.g. MAC address, hardware or software configuration or device fingerprint
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0807Network architectures or network communication protocols for network security for authentication of entities using tickets, e.g. Kerberos
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/321Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority
    • H04L9/3213Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority using tickets or tokens, e.g. Kerberos

Abstract

본 출원의 실시예들은 웹사이트에 로그인하는 단말기가 모바일 단말기인지를 결정하기 위한 방법 및 시스템에 관한 것이다. 이 방법은 단말기로부터 웹사이트에 액세스하기 위한 로그인 요청을 수신하는 단계, 제 1 토큰을 생성하는 단계, 단말기에 리다이렉트 스크립트(redirect script)를 포함하는 정보를 전송하는 단계로서, 상기 리다이렉트 스크립트는 단말기로 하여금 리다이렉트 스크립트를 실행하고 활성화 링크에 액세스하게 하도록 구성되는, 상기 전송 단계, 단말기로부터 검증 요청을 수신하는 단계, 검증 요청에 포함된 제 1 토큰의 버전이 생성된 제 1 토큰에 대해 유효한지를 결정하는 단계, 제 1 토큰이 유효하다는 표시를 단말기에 전송하는 단계, 액세스 요청을 수신하는 단계로서, 상기 액세스 요청은 제 2 토큰을 포함하는, 상기 액세스 요청 수신 단계, 제 2 토큰이 유효한지를 결정하는 단계, 및 제 2 토큰이 유효한지에 따라 단말기가 모바일 단말기인지를 결정하는 단계를 포함한다.

Description

웹사이트에 로그인하는 단말기가 모바일 단말기인지를 결정하기 위한 방법 및 시스템{METHOD AND SYSTEM FOR DETERMINING WHETHER A TERMINAL LOGGING INTO A WEBSITE IS A MOBILE TERMINAL}
본 출원은, 발명의 명칭이 "A METHOD AND A SERVER FOR DETERMINING WHETHER A TERMINAL LOGGING INTO A WEBSITE IS A MOBILE TERMINAL"이고, 2014년 1월 7일에 출원된 중화 인민 공화국 특허 출원 제201410007143.5호에 대한 우선권을 주장하며, 이것은 모든 목적들을 위해 본 명세서에 참조로 포함된다.
본 출원은 웹사이트에 로그인하는 단말기가 모바일 단말기인지를 결정하기 위한 방법, 장치, 및 시스템에 관한 것이다.
무선 웹사이트들은 모바일 단말기들을 위해 개발된 웹사이트들 및 모바일 단말기들(예를 들면, 셀 폰들, 태블릿 컴퓨터들 등)을 통해 액세스되는 인터넷 웹사이트들이다. 사용자가 개인용 컴퓨터(PC), 모바일 단말기 등과 같은 많은 상이한 타입들의 디바이스들을 사용하여 무선 웹사이트에 액세스할 수 있지만, 무선 웹사이트들에 액세스하기 위해 모바일 단말기들을 사용하는 것은 사용자들에게 더욱 양호한 사용자 경험들을 제공할 수 있다. 무선 웹사이트들은 일반 웹사이트들과 동일한 많은 기능들을 제공할 수 있다. 예를 들면, 무선 웹사이트는 대응하는 일반 웹사이트의 대다수의 기능들을 실현할 수 있다. 그러나 무선 웹사이트들은 주로 모바일 단말기를 사용하는 사용자들의 소비를 위해 개발되었다. 무선 웹사이트들은 일반 웹사이트들과 연관된 많은 제약들을 해결하고, 따라서 사용자들이 무선 웹사이트들에 액세스하고 다양한 위치들에서 사용자의 편의대로 정보를 획득할 수 있게 한다. 따라서, 무선 웹사이트들은 사용자 작업 효율을 향상시키고 정보의 가치를 증대시킨다.
관련 기술에 따라, 일부 무선 웹사이트들은 (예를 들면, 사용자에게 안전한 상호작용을 제공하기 위한 높은 보안 요건들)을 가진다. 예를 들면, 보안 요건들이 높은 일부 무선 웹사이트들은 사용자들이 모바일 단말기들을 사용하여 로그인하는 것만을 허용할 수 있고, 사용자들이 모바일 단말기들이 아닌 단말기들(예를 들면, 데스크탑 컴퓨터들 및 노트북 컴퓨터들 등과 같은 PC들)을 사용하여 로그인하는 것을 허용하지 않는다. 즉, 보안 요건들이 높은 일부 무선 웹사이트들은 모바일 단말기들을 사용하는 사용자들에게만 액세스를 제공할 수 있다. 무선 웹사이트들에 대한 액세스(예를 들면, 무선 웹사이트들에의 로그인)는 모바일 단말기들에 제한될 수 있고, 모바일 단말기에 무선 웹사이트에 대한 안전한 액세스를 제공하기 위한 메커니즘이 모바일 단말기들 이외의 단말기들과 호환 가능하지 않을 수 있으므로, 모바일 단말기들 이외의 단말기들로부터의 액세스는 방지될 수 있다. 예를 들면, 사용자가 모바일 단말기 이외의 단말기(예를 들면, PC 등)를 사용하여 보안 요건들이 더 높은 웹사이트에 로그인할 때, 웹사이트는 통상적으로, 사용자가 웹사이트에 로그인할 때 사용자의 계정 번호 및 패스워드가 인스톨된 보안 제어를 통해 암호화될 수 있도록, 사용자에게 보안 제어를 먼저 인스톨하도록 요구한다. 보안 제어의 사용 및 사용자의 계정 번호 및 패스워드의 암호화는 계정 번호들 및 패스워드들이 악성 모듈(예를 들면, 트로이 목마 프로그램, 바이러스 등)에 의해 위태롭게(예를 들면, 도용(kidnapped)) 되는 것을 방지한다. 그러나 이러한 보안 제어는 모바일 단말기 상에 인스톨될 수 없다. 따라서, 무선 웹사이트와 일반 웹사이트에 연관된 보안 메커니즘들이 상이하고, 일반적으로 이러한 보안 메커니즘들은 무선 웹사이트들 용으로 셋업되지 않을 것이다. 따라서, 악성 모듈(예를 들면, 트로이 목마 프로그램, 바이러스, 악성 소프트웨어 등)은, 모바일 단말기 이외의 단말기(예를 들면, PC 등)가 무선 웹사이트에 로그인하도록 시도하는 경우, 보안 정보(예를 들면, 사용자명, 패스워드 등)를 위협할 수 있다. 따라서, 보안 정보가 악성 모듈에 의해 위태롭게 되는 것을 방지하기 위하여, 보안 요건들이 더 높은 무선 웹사이트들은 모바일 단말기들 이외의 단말기들에 의한 액세스를 방지하도록(예를 들면, 사용자들이 PC 등을 사용하여 무선 웹사이트에 로그인하는 것을 방지하도록) 구성될 것이다.
관련 기술에 따라, 특정 무선 웹사이트에 액세스하는 단말기의 타입이 결정될 수 있다. 예를 들면, 무선 웹사이트 서버(예를 들면, 무선 웹사이트에 호스팅하는 서버 등)는 무선 웹사이트에 액세스하는 단말기가 모바일 단말기인지를 결정할 수 있다. 무선 웹사이트에 액세스하는 단말기가 모바일 단말기인지를 결정하기 위하여, 무선 웹사이트 서버는 무선 웹사이트에 대한 액세스와 관련하여 통신되는 사용자 에이전트 정보(예를 들면, HTTP 요청의 사용자-에이전트 스트링에 포함된 사용자 에이전트 정보)를 사용할 수 있다. 예를 들면, 무선 웹사이트 서버는 http 프로토콜에 포함된 사용자 에이전트 정보를 식별(예를 들면, 결정)할 수 있다. 사용자 에이전트 정보는 http 프로토콜의 일부이다. 사용자 에이전트 정보는 무선 웹사이트에 액세스하는데 사용되는 단말기의 기기 타입 및 운영 체제를 획득(예를 들면, 결정)하고 따라서 사용자가 모바일 단말기로 웹사이트에 액세스하는지를 결정하기 위해 사용될 수 있다. 그러나 모바일 단말기가 아닌 단말기가 조작된 사용자 에이전트 정보를 사용하여 모바일 단말기로 위장(spoof)할 수 있다. 즉, 무선 웹사이트에 액세스할 때 사용되는 사용자 에이전트 정보가 조작(예를 들면, 위조)될 수 있다. 예를 들면, 거짓 사용자 에이전트 정보가 브라우저를 통해 셋업될 수 있고, 그 후에 모바일 단말기인 척하는 단말기(예를 들면, PC 등)가 무선 웹사이트에 로그인할 수 있다.
본 발명의 다양한 실시예들은 다음의 상세한 설명 및 첨부 도면들에 개시된다.
본 명세서에 기술된 도면들은 본 출원의 이해를 촉진하고 본 출원의 일부를 형성하기 위한 것이다. 본 출원의 예시적 실시예들 및 그것의 기술들은 본 출원을 설명하기 위한 것이고 본 출원의 부적절한 제한을 의미하지 않는다.
본 발명은; 장치; 시스템; 물질의 조성; 컴퓨터 판독 가능한 저장 매체 상에서 구현되는 컴퓨터 프로그램 제품; 및/또는 프로세서 상에 저장되고 및/또는 프로세서에 연결된 메모리에 의해 제공되는 명령들을 실행하도록 구성된 프로세서와 같은 프로세서를 프로세스로서 포함하여, 다양한 방식들로 구현될 수 있다. 이 명세서에서, 이들 구현들 또는 본 발명이 취할 수 있는 임의의 다른 형태는 기술들(techniques)로서 칭해질 수 있다. 일반적으로, 개시된 프로세스들의 단계들의 순서는 본 발명의 범위 내에서 변경될 수 있다. 달리 언급되지 않는 한, 작업을 수행하도록 구성되는 것으로 기술된 프로세서 또는 메모리와 같은 구성요소는 주어진 시간에 작업을 수행하도록 일시적으로 구성된 일반 구성요소 또는 작업을 수행하도록 제작된 특정 구성요소로 구현될 수 있다. 본 명세서에서 사용되는 바와 같이, 용어 '프로세서'는 컴퓨터 프로그램 명령들과 같은 데이터를 프로세싱하도록 구성되는 하나 이상의 디바이스들, 회로들, 및/또는 프로세싱 코어들을 나타낸다.
본 발명의 하나 이상의 실시예들의 상세한 기술은 본 발명의 원리들을 예시하는 첨부 도면들과 함께 하기에 제공된다. 본 발명은 이러한 실시예들과 관련하여 기술되지만, 본 발명은 어떠한 실시예에도 제한되지 않는다. 본 발명의 범위는 청구항들에 의해서만 제한되고, 본 발명은 다수의 대안들, 수정들 및 등가물들을 포함한다. 다수의 특정 상세들은 본 발명의 완전한 이해를 제공하기 위하여 다음의 설명에 기재된다. 이들 상세들은 예시의 목적으로 제공되고, 본 발명은 이들 특정 상세들의 일부 또는 전부 없이 청구항들에 따라 실시될 수 있다. 명확성을 위해, 본 발명에 관련된 기술 분야에서 알려진 기술 자료는 본 발명이 불필요하게 모호하지 않도록 상세히 설명되지 않았다.
본 개시내용의 다양한 실시예들은 웹사이트에 로그인하는데 사용되는 단말기가 모바일 단말기인지를 검증(아니면 보장)하기 위한 방법, 장치, 및 시스템을 포함한다.
본 개시내용의 다양한 실시예들에 따라, 하나 이상의 토큰들이 단말기와 웹사이트 서버(예를 들면, 무선 웹사이트 서버) 사이에서 통신되고, 하나 이상의 토큰들 중 적어도 하나가 확인되어(validated) 웹 사이트에 액세스하는 단말기가 모바일 단말기인지를 결정(또는 아니면 보장)한다. 단말기가 웹사이트에 로그인하는 것(예를 들면, 브라우저를 사용하여)에 응답하여 제 1 토큰이 생성되어(예를 들면, 웹 서버 등에 의해) 단말기에 통신될 수 있다. 단말기는 단말기 상의 클라이언트 애플리케이션을 활성화하기 위해 제 1 토큰을 사용할 수 있고, 서버(예를 들면, 웹사이트 서버)는 제 1 토큰을 확인 할 수 있다. 예를 들면, 사용자가 단말기 상의 브라우저를 통해 웹사이트에 로그인할 때, 제 1 토큰이 생성된다. 제 1 토큰은 단말기 상의 브라우저로 하여금, 리다이렉트 메커니즘을 통해, 단말기 상의 클라이언트 애플리케이션을 활성화하기 위한 활성화 링크에 액세스하게 할 수 있고, 따라서 상기 클라이언트 애플리케이션을 활성화하고 클라이언트 애플리케이션으로 하여금 서버를 사용하여 제 1 토큰이 유효한지를 검증한다. 일부 실시예들에서, 서버가 토큰을 생성할 때, 토큰은 버퍼에 저장된다. 따라서, 단말기가 서버의 버퍼에 저장되는 토큰의 동일물(identical) 또는 복제물을 통신하는 경우, 단말기는 유효 토큰을 전송한 것으로 결정된다. 예를 들면, 토큰이 유효한지의 검증은 수신된 토큰이 서버에 저장된 토큰(예를 들면, 서버에 의해 생성된 토큰)과 같은지(예를 들면 그와 동일한지 또는 복제물인지)를 결정하는 것을 포함한다. 일부 실시예들에서, 리다이렉트 메커니즘은 광고들을 위한 구글 링크와 유사하다. 또한, 단말기는 웹사이트에 다시 액세스하고(예를 들면, 웹사이트는 단말기 상의 브라우저를 통해 액세스됨), 단말기가 웹사이트에 다시 액세스하는 것에 응답하여, 서버는 브라우저에 의해 전송되는 웹사이트에 액세스하기 위한 액세스 요청에 관하여 획득된 제 2 토큰(예를 들면, 제 2 토큰은 단말기가 서버에 액세스 요청을 통신하는 것에 응답하여 웹사이트 서버에 의해 생성되어 단말기에 통신될 수 있음)이 유효한지를 검증함으로써, 단말기가 모바일 단말기인지를 결정한다. 일부 실시예들에서, 서버는, 단말기가 웹사이트에 다시 로그인하도록 시도하는 것에 응답하여 웹사이트에 액세스하기 위한 액세스 요청에 관하여 획득된 제 2 토큰이 유효한지를 검증함으로써, 단말기가 모바일 단말기인지를 결정한다. 일부 실시예들에서, 토큰은 단말기가 웹사이트에 로그인할 때마다 검증된다.
본 출원의 다양한 실시예들에 따라, 웹사이트에 액세스하는(예를 들면, 로그인하는) 단말기가 모바일 단말기인지를 결정하기 위한 방법, 장치, 및/또는 시스템이 제공된다.
단말기는 일반적으로 네트워크 시스템 내에서 사용되고(예를 들면, 사용자에 의해) 하나 이상의 서버들과 통신하는데 사용되는 디바이스를 나타낸다. 본 개시내용의 다양한 실시예들에 따라, 단말기는 통신 기능을 포함할 수 있다. 예를 들면, 단말기는 스마트 폰, 태블릿 개인용 컴퓨터(PC), 모바일 폰, 비디오 폰, e-북 판독기, 데스크탑 PC, 랩탑 PC, 넷북 PC, 개인용 정보 단말기(PDA), 휴대용 멀티미디어 플레이어(PMP), mp3 플레이어, 모바일 의료 디바이스, 카메라, 착용 가능한 디바이스(예를 들면, 헤드-장착형 디바이스(HMD), 전자 옷들, 전자 브레이스들(electronic braces), 전자 목걸이, 전자 악세서리, 전자 타투, 또는 스마트 워치) 등일 수 있다.
본 개시내용의 다양한 실시예들에 따라, 단말기는 통신 기능을 구비한 스마트 홈 기기일 수 있다. 스마트 홈 기기는 예를 들면, 텔레비전, 디지털 비디오 디스크(DVD) 플레이어, 오디오, 냉장고, 에어컨, 진공 청소기, 오븐, 전자 레인지, 세탁기, 건조기, 공기 청정기, 셋-톱 박스, TV 박스 (예를 들면, Samsung HomeSync™, Apple TV™, 또는 Google TV™), 게임 콘솔, 전자 사전, 전자 키, 캠코더, 전자 화상 프레임 등일 수 있다.
본 개시내용의 다양한 실시예들에 따라, 단말기는 의료 디바이스(예를 들면, 자기 공명 조영술(MRA) 디바이스, 자기 공명 영상(MRI) 디바이스, 컴퓨터 단층 촬영(CT) 디바이스, 촬상 디바이스, 또는 초음파 디바이스), 네비게이션 디바이스, 위성 위치확인 시스템(GPS) 수신기, 이벤트 데이터 레코더(EDR), 비행 기록장치(FDR), 자동차 인포테인먼트 디바이스(automotive infotainment device), 해상 전자 디바이스(예를 들면, 해상 네비게이션 디바이스, 자이로스코프, 또는 나침반) 항공 전자 디바이스, 보안 디바이스, 산업 또는 민수용 로봇, 가구의 일부, 건축/구조의 일부, 전자 기판, 전자 서명 수신 디바이스, 프로젝터, 각종 측정 디바이스들(예를 들면, 물, 전기, 가스, 전자기파 측정 디바이스들) 및/또는 통신 기능을 포함하는 것 등일 수 있다.
본 개시내용의 다양한 실시예들에 따라, 단말기는 상술된 디바이스들의 임의의 조합일 수 있다. 또한, 본 기술분야의 통상의 기술자에게는 본 개시내용의 다양한 실시예들에 따른 단말기가 상술된 디바이스들에 제한되지 않음이 명백할 것이다.
본 개시내용의 다양한 실시예들에 따라, 모바일 단말기는 이동중에 사용될 수 있는 단말기 디바이스를 나타낸다. 예를 들면, 모바일 단말기는 셀 폰, 태블릿 컴퓨터 등일 수 있다.
도 1은 본 개시내용의 다양한 실시예들에 따라 웹사이트에 액세스하는 단말기가 모바일 단말기인지를 결정하기 위한 방법의 흐름도.
도 2는 본 개시내용의 다양한 실시예들에 따라 웹사이트에 액세스하는 단말기가 모바일 단말기인지를 결정하기 위한 흐름도.
도 3은 본 개시내용의 다양한 실시예들에 따라 웹사이트에 액세스하는 단말기가 모바일 단말기인지를 결정하기 위한 방법의 흐름도.
도 4는 본 개시내용의 다양한 실시예들에 따라 웹사이트에 액세스하는 단말기가 모바일 단말기인지를 결정하기 위한 방법의 흐름도.
도 5는 본 개시내용의 다양한 실시예들에 따라 웹사이트에 액세스하는 단말기가 모바일 단말기인지를 결정하기 위한 시스템을 도시한 도면.
도 6a는 본 개시내용의 다양한 실시예들에 따라 웹사이트에 액세스하는 단말기가 모바일 단말기인지를 결정하기 위한 서버의 구조 블록도.
도 6b는 본 개시내용의 다양한 실시예들에 따라 웹사이트에 액세스하는 단말기가 모바일 단말기인지를 결정하기 위한 서버의 구조 블록도.
도 7은 본 개시내용의 다양한 실시예들에 따라 웹사이트에 액세스하는 단말기가 모바일 단말기인지를 결정하기 위한 시스템에서 단말기의 구조 블록도.
도 8은 본 개시내용의 다양한 실시예들에 따라, 웹사이트에 액세스하기 위한 또는 웹사이트에 액세스하는 단말기가 모바일 단말기인지를 결정하기 위한 컴퓨터 시스템의 기능도.
도 1은 본 개시내용의 다양한 실시예들에 따라, 웹사이트에 액세스하는 단말기가 모바일 단말기인지를 결정하기 위한 방법의 흐름도이다.
도 1을 참조하면, 개별적으로 또는 조합하여 동작하는 하나 이상의 서버들이, 웹사이트에 액세스하는(예를 들면, 로그인) 단말기가 모바일 단말기인지를 검증(예를 들면, 결정)하기 위한 방법(100)이 제공된다. 일부 실시예들에서, 방법(100)은 도 5에 예시된 서버(520)와 같은 서버에 의해 구현될 수 있다.
단계(110)에서, 액세스 요청이 수신된다. 일부 실시예들에서, 서버(예를 들면, 웹사이트와 연관된 웹사이트 서버)는 액세스 요청을 수신한다. 서버는 웹사이트에 액세스하도록 시도하거나 아니면 웹사이트에 로그인하도록 시도하는 단말기로부터 액세스 요청을 수신할 수 있다. 예를 들면, 사용자가 단말기로 하여금 웹사이트에 로그인하도록 요청하는 것에 응답하여, 단말기는 웹사이트와 연관된 서버에 액세스 요청을 전송할 수 있다.
단계(120)에서, 제 1 토큰 등이 생성된다. 일부 실시예들에서, 서버는 제 1 토큰 등을 생성한다. 서버는 서버와 연관된 저장 디바이스 상에 제 1 토큰을 저장할 수 있다. 서버는 액세스 요청을 수신하는 것(예를 들면, 단말기로부터)에 응답하여 제 1 토큰을 생성할 수 있다. 예를 들면, 사용자가 단말기 상의 브라우저를 통해 웹사이트에 로그인하는 것에 응답하여, 제 1 토큰이 생성되어 서버 상에 저장된다. 일례로서, 사용자가 웹사이트에 로그인하기 위해 사용자의 계정 번호, 패스워드, 및 로그인 정보를 입력하는 것에 응답하여(예를 들면, 단말기 상에 인스톨된 브라우저를 통해), 단말기(예를 들면, 브라우저)는 웹사이트 서버에 로그인 요청을 전송한다. 웹사이트 서버는 단말기로부터 로그인 요청(예를 들면, 단말기 상의 브라우저를 통해 전송된)을 수신할 때 제 1 토큰을 생성한다.
본 개시내용의 다양한 실시예들에 따라, 제 1 토큰은 액세스 요청 및 단말기를 식별하는 정보를 포함한다. 예를 들면, 일부 실시예들에서, 제 1 토큰은 단말기의 IP 어드레스, 서버의 물리적 어드레스(예를 들면, MAC 어드레스), 타임 스탬프(예를 들면, 제 1 토큰의 생성을 위한 타임스탬프), 일련 번호, 등을 포함한다. 일부 실시예들에서, 제 1 토큰은 고유한 토큰이다. 예를 들면, 서버는 대응하는 제 1 토큰과 새로운 일련 번호를 연관시킬 수 있다. 서버가 제 1 토큰을 생성할 때마다, 서버는 일련 번호를 일씩 증가시킬 수 있고(예를 들면, 일련 번호 생성기는 일련 번호가 생성될 때마다 생성된 일련 번호들의 계수를 일씩 증가시킬 수 있음), 일련 번호는 제 1 토큰의 고유성을 보장하도록 현재 생성된 제 1 토큰과 연관될 수 있다. 일부 실시예들에서, 제 1 토큰은 단말기 시간, 단말기 IP 어드레스, 단말기 MAC 어드레스, 자동으로 증가하는 시퀀스 등과 같은 정보, 또는 고유한 식별자를 생성하기 위하여 임의의 그 조합을 포함할 수 있다. 예를 들면, 고유 식별자는 단말기 시간, 단말기 IP 어드레스, 단말기 MAC 어드레스, 및 자동으로 증가하는 시퀀스의 합에 의해 생성될 수 있다. 본 개시내용의 다양한 실시예들에 따라, 제 1 토큰은 만료 일자 또는 시간, 제 1 토큰이 유효하게 있는 시간 기간 등을 가질 수 있다. 제 1 토큰은 시간 기간 동안 서버 상에 저장될 수 있다(예를 들면, 만료 일자 또는 시간이 경과될 때까지, 제 1 토큰이 유효하게 있는 시간 기간이 만료될 때까지 등). 예를 들면, 서버는 제 1 토큰이 만료될 때까지 이 제 1 토큰을 저장할 수 있다. 본 개시내용의 다양한 실시예들에 따라, 제 1 토큰의 만료에 응답하여, 서버는 그로부터 제 1 토큰을 삭제할 수 있다.
단계(130)에서, 단말기에 대한 액세스 요청과 연관된 정보가 통신된다. 일부 실시예들에서, 서버는 단말기에 액세스 요청과 연관된 정보를 통신한다. 예를 들면, 서버는 단말기에 제 1 토큰을 전송할 수 있다. 다른 예로서, 서버는 단말기에(예를 들면, 단말기 상의 브라우저에) 리다이렉트 스크립트를 포함하는 페이지(또는 그에 대한 링크)를 전송할 수 있다. 단말기에 통신되는 액세스 요청과 연관된 정보는 단말기로 하여금 리다이렉트 스크립트를 실행하게 할 수 있다(예를 들면, 서버는 브라우저로 하여금 리다이렉트 스크립트를 실행하게 할 수 있는 단말기에 정보를 통신할 수 있다.)
일부 실시예들에서, 단말기는 활성화 링크가 단말기에 의해 액세스되는 것에 응답하여 검증 요청을 서버에 전송한다. 활성화 링크가 단말기에 의해 액세스되는 것에 응답하여, 클라이언트 애플리케이션은 단말기 상에서 활성화될 수 있다.
본 개시내용의 다양한 실시예들에 따라, 리다이렉트 스크립트는 클라이언트 애플리케이션을 활성화하기 위하여 단말기(예를 들면, 단말기 상의 브라우저)로 하여금 단말기 상의 클라이언트 애플리케이션을 활성화하는 활성화 링크에 액세스하게 하도록 구성된다. 일부 실시예들에서, 리다이렉트 스크립트는 활성화 링크를 포함한다. 클라이언트 애플리케이션은 단말기 상에 인스톨된 하나 이상의 클라이언트 애플리케이션들 중 임의의 하나일 수 있다. 일부 실시예들에서, 클라이언트 애플리케이션은 인증 애플리케이션(예를 들면, 단말기가 모바일 단말기인지를 인증하는데 사용되는)이다. 구체적으로, 서버는 단말기에(예를 들면, 단말기의 브라우저에) 페이지를 전송할 수 있다. 단말기에 전송되는 페이지는 리다이렉트 스크립트(예를 들면, 자바스크립트 등)를 포함할 수 있다. 리다이렉트 스크립트를 실행함으로써, 브라우저는 페이지 리다이렉션을 실행할 것이다. 예를 들면, 스크립트는 리다이렉트 스크립트에 포함된 클라이언트 애플리케이션의 활성화 링크에 액세스하도록 페이지 리다이렉션을 실행할 것이고 그에 따라 클라이언트 애플리케이션을 활성화할 수 있다.
단계(140)에서, 검증 요청이 수신된다. 일부 실시예들에서, 서버는 검증 요청을 수신한다. 예를 들면, 서버는 단말기로부터 검증 요청을 수신할 수 있다. 검증 요청은 단말기 상의 클라이언트 애플리케이션에 의해 전송될 수 있다. 일부 실시예들에서, 검증 요청은 서버로부터 단말기에 의해 수신된 제 1 토큰을 포함한다. 예를 들면, 검증 요청은 활성화 링크로부터 클라이언트 애플리케이션에 의해 획득된 제 1 토큰을 포함할 수 있다.
일부 실시예들에서, 클라이언트 애플리케이션은, 리다이렉트 스크립트를 실행하고 그 후 활성화 링크에 액세스하는 단말기(예를 들면, 단말기 상의 브라우저)에 의해 활성화된다. 본 개시내용의 다양한 실시예들에 따라, 활성화 링크는 웹사이트의 액세스 어드레스, 제 1 토큰 등을 포함한다. 클라이언트 애플리케이션은 활성화 링크로부터 및/또는 활성화 링크에 액세스함으로써 웹사이트의 액세스 어드레스, 제 1 토큰 등을 획득할 수 있다.
본 개시내용의 다양한 실시예들에 따라, 단말기(예를 들면, 단말기 상의 브라우저)가 리다이렉트 스크립트를 실행하고 활성화 링크에 액세스하는 것에 응답하여, 클라이언트 애플리케이션이 활성화된다(예를 들면, 깨우기(woken up) 등). 일부 실시예들에서, 클라이언트 애플리케이션은 활성화 링크로부터 및/또는 활성화 링크를 액세스함으로써 웹사이트의 액세스 어드레스, 제 1 토큰 등을 획득한다. 클라이언트 애플리케이션은 제 1 토큰이 유효한지에 관한 검증을 요청하는 검증 요청을 서버에 전송하기 위한 기초로서 액세스 어드레스를 사용한다. 일부 실시예들에서, 단말기(예를 들면, 클라이언트 애플리케이션)는 클라이언트 애플리케이션이 활성화되는 것에 응답하여 검증 요청을 생성한다. 검증 요청은 제 1 토큰 등을 포함할 수 있다.
단계(150)에서, 검증 요청이 유효한지의 결정이 이루어진다. 일부 실시예들에서, 서버는 검증 요청이 유효한지의 여부를 결정한다. 예를 들면, 서버는 제 1 토큰을 유효하게 할 수 있다. 본 개시내용의 다양한 실시예들에 따라, 서버는 검증 요청에 포함된 제 1 토큰이 유효한지의 여부를 결정한다. 이후, 검증 결과(예를 들면, 검증 요청에 포함된 제 1 토큰이 유효한지의 여부에 관한 결정의 결과)는 단말기(예를 들면, 클라이언트 애플리케이션)에 전송된다.
본 개시내용의 다양한 실시예들에 따라, 서버는 어떤 시간 기간(예를 들면, 제 1 토큰의 만료까지) 동안 제 1 토큰을 저장한다. 일부 실시예들에서, 제 1 토큰이 만료될 때(예를 들면, 제 1 토큰의 만료에 응답하여), 서버는 제 1 토큰을 삭제한다.
일부 실시예들에서, 서버는 검증 요청에 포함된 제 1 토큰을 액세스 요청에 응답하여 생성된 제 1 토큰과 비교함으로써, 검증 요청에 포함된 제 1 토큰이 유효한지를 결정한다. 예를 들면, 서버는 서버가 검증 요청에 포함된 제 1 토큰과 동일한 제 1 토큰을 가지는지(예를 들면, 저장하고 있는지)에 관해 질의받을 수 있다. 서버가 검증 요청에 포함된 제 1 토큰과 동일한 제 1 토큰을 가지는 경우, 제 1 토큰은 유효한 것으로 결정된다.
단계(150)에서 검증 요청이 유효한 것으로 결정되지 않는 경우(예를 들면, 검증 요청에 포함된 제 1 토큰이 유효하지 않은 것으로 결정되는 경우), 단말기가 모바일 단말기인지를 결정하기 위한 방법이 종료될 수 있다. 예를 들면, 서버는 웹사이트에 로그인하도록 시도하는 단말기가 모바일 단말기가 아니라고 결정할 수 있다.
대조적으로, 단계(150)에서 검증 요청이 유효한 것으로 결정되는 경우(예를 들면, 검증 요청에 포함된 제 1 토큰이 유효한 것으로 결정되는 경우), 단계(160)에서, 서버는 검증 요청이 유효하다는 표시를 통신할 수 있다. 예를 들면, 서버가 검증 요청에 포함된 제 1 토큰이 유효하다고(예를 들면, 액세스 요청에 응답하여 생성된 제 1 토큰과 매칭한다고) 결정하는 것에 응답하여, 서버는 검증 요청이 유효하다는 표시를 단말기에 전송할 수 있다.
본 개시내용의 다양한 실시예들에 따라, 검증 요청이 유효하다(예를 들면, 검증 요청에 포함된 제 1 토큰이 유효하다)는 표시를 수신하는 것에 응답하여, 단말기는 제 2 토큰을 생성한다. 일부 실시예들에서, 단말기(예를 들면, 클라이언트 애플리케이션)는 제 1 토큰을 암호화함으로써 제 2 토큰을 생성한다. 일부 실시예들에서, 제 2 토큰은 제 1 토큰의 암호화된 버전이다. 일부 실시예들에서, 제 1 토큰은 평문(cleartext)이다. 본 개시내용의 다양한 실시예들에 따라, 단말기는 제 1 토큰이 유효한 것으로 결정되는 경우에만 제 2 토큰을 생성한다. 일부 실시예들에서, 제 2 토큰은 기본 암호화 방법, 해싱 암호화 방법, 대칭 암호화 방법, 비대칭 암호화 방법 등을 사용하여 제 1 토큰을 암호화함으로써 생성된다. 예를 들면, 검증 요청에 포함된 제 1 토큰이 유효한 경우, 클라이언트 애플리케이션은 제 2 토큰을 생성하고 단말기 상의 브라우저를 활성화하여 웹사이트에 액세스한다. 단말기(예를 들면, 단말기 상의 브라우저)는 웹사이트의 액세스를 위한 액세스 요청을 전송한다.
단계(170)에서, 제 2 토큰을 포함하는 액세스 요청이 수신된다. 일부 실시예들에서, 서버는 제 2 토큰을 포함하는 액세스 요청을 수신한다. 예를 들면, 서버는 단말기로부터 제 2 토큰을 포함하는 액세스 요청을 수신한다.
단계(180)에서, 단말기의 타입이 제 2 토큰에 기초하여 결정된다. 일부 실시예들에서, 서버는 제 2 토큰에 기초하여 단말기의 타입을 결정한다. 본 개시내용의 다양한 실시예들에 따라, 제 2 토큰이 유효한 경우, 단말기는 모바일 단말기인 것으로 결정된다.
본 개시내용의 다양한 실시예들에 따라, 제 2 토큰을 포함하는 액세스 요청을 수신하는 것에 응답하여, 서버는 제 2 토큰이 유효한지를 결정한다. 예를 들면, 서버는 제 2 토큰이 제 1 토큰의 암호화된 버전에 대응하는지에 따라 액세스 요청에 포함된 제 2 토큰이 유효한지를 검증한다. 일부 실시예들에서, 서버는, 제 2 토큰을 복호하고 복호된 제 2 토큰을 제 1 토큰과 비교함으로써 제 2 토큰이 유효한지를 결정한다. 복호된 제 2 토큰이 제 1 토큰과 매칭하는(예를 들면, 서버 상에 저장되는) 경우, 서버는 제 2 토큰이 유효하다고 결정한다.
본 개시내용의 다양한 실시예들에 따라, 단말기(예를 들면, 클라이언트 애플리케이션)가 서버로부터 제 1 토큰이 유효하다고 표시하는 결과를 수신하는 것에 응답하여, 단말기는 제 1 토큰을 암호화하여 제 2 토큰을 생성한다. 단말기 상의 브라우저는 브라우저로 하여금 웹사이트에 액세스하기 위한 액세스 요청을 서버에 전송하도록 하기 위해 활성화될 수 있다. 일부 실시예들에서, 액세스 요청은 제 2 토큰을 포함한다. 서버는 브라우저로부터 전송된 웹사이트에 액세스하기 위한 액세스 요청을 수신하고 액세스에 포함된 제 2 토큰이 유효한지를 검증한다. 일부 실시예들에서, 제 1 토큰이 유효할 때 제 1 토큰을 암호화하는 클라이언트 애플리케이션에 의해 제 2 토큰이 생성되기 때문에, 제 2 토큰은, 제 1 토큰을 획득하고 제 1 토큰이 유효한지를 검증하기 위해 복호된다. 제 1 토큰이 유효한 경우, 제 2 토큰은 유효한 것으로 결정될 수 있다.
제 2 토큰이 유효한 것으로 결정되는 경우, 단말기는 모바일 단말기이다. 예를 들면, 제 2 토큰이 유효한 것으로 결정되는 경우, 서버는 사용자가 웹사이트에 로그인한 단말기가 모바일 단말기라고 결정한다.
본 출원의 다양한 실시예들에 따라, 서버는 웹사이트에 로그인하는데 사용되는 로그인 정보를 인증하는 것에 응답하여 제 1 토큰을 생성한다. 예를 들면, 일부 실시예들에서, 웹사이트에 액세스하는 단말기가 모바일 단말기인지를 결정하기 위한 방법은 웹사이트에 로그인할 때 단말기에 의해 서버에 전송되는 로그인 정보가 정확한지를 검증하는 단계, 및 로그인 정보(예를 들면, 사용자에 의해 입력되는)가 정확한 것으로 결정되는 경우, 서버는 제 1 토큰을 생성하는 단계를 포함한다. 서버는 단말기(예를 들면, 사용자)가 웹사이트에 로그인할 때(예를 들면, 단말기 상의 브라우저를 통해), 로그인 정보를 검증할 수 있다. 로그인 정보가 검증되는 경우(예를 들면, 로그인 정보가 정확한 경우), 제 1 토큰이 생성된다. 일부 실시예들에서, 로그인 정보는 사용자 계정 식별자(예를 들면, 로그인 명, 계정 번호 등), 패스워드 등을 포함한다. 로그인 정보가 검증되지 않는 경우(예를 들면, 로그인 정보가 정확하지 않은 경우), 웹사이트에 액세스하는 단말기가 모바일 단말기인지를 결정하기 위한 방법이 종료될 수 있다.
도 2는 본 개시내용의 다양한 실시예들에 따라 웹사이트에 액세스하는 단말기가 모바일 단말기인지를 결정하기 위한 흐름도이다.
도 2를 참조하면, 웹사이트에 액세스하는 단말기에 대한 방법(200)이 예시된다. 일부 실시예들에서, 방법(200)은 도 5에 예시된 단말기(510)에 의해 구현된다.
단계(210)에서, 액세스 요청이 통신된다. 일부 실시예들에서, 단말기는 웹사이트(예를 들면, 웹사이트 서버)와 연관된 서버에 액세스 요청을 통신한다. 일부 실시예들에서, 액세스 요청은 단말기의 IP 어드레스 등을 포함한다. 예를 들면, 액세스 요청은 단말기가 식별될 수 있는 정보를 포함할 수 있다. 일부 실시예들에서, 액세스 요청은 액세스에 대한 요청과 연관되거나 웹사이트에 로그인하도록 시도하는 것과 연관된다.
단계(220)에서, 액세스 요청과 연관된 정보가 수신된다. 일부 실시예들에서, 단말기는 액세스 요청과 연관된 정보를 수신한다. 단말기는 서버(예를 들면, 단말기가 액세스 요청을 통신한 서버)로부터 액세스 요청과 연관된 정보를 수신한다. 일부 실시예들에서, 액세스 요청과 연관된 정보는 리다이렉트 스크립트를 포함하는 페이지(또는 그에 대한 링크)를 포함한다. 단말기에 의해 수신되는 액세스 요청과 연관된 정보는 단말기로 하여금 리다이렉트 스크립트를 실행하도록 한다. 일부 실시예들에서, 리다이렉트 스크립트는 클라이언트 애플리케이션을 활성화하기 위하여 단말기(예를 들면, 단말기 상의 브라우저)로 하여금, 단말기 상의 클라이언트 애플리케이션을 활성화하는 활성화 링크에 액세스하도록 구성된다. 리다이렉트 스크립트는 활성화 링크를 포함할 수 있다.
단계(230)에서, 클라이언트 애플리케이션이 활성화된다. 일부 실시예들에서, 단말기는 클라이언트 애플리케이션을 활성화한다. 액세스 요청과 연관된 정보를 수신하는 것에 응답하여, 단말기는 클라이언트 애플리케이션을 활성화한다. 예를 들면, 리다이렉트 스크립트를 수신하는 것에 응답하여, 단말기(예를 들면, 단말기 상의 브라우저)는 리다이렉트 스크립트에 따라 페이지 리다이렉션을 실행한다. 페이지 리다이렉션은 단말기(예를 들면, 단말기 상의 브라우저)로 하여금, 리다이렉트 스크립트에 포함된 클라이언트 애플리케이션의 활성화 링크에 액세스하도록 한다. 일부 실시예들에서, 클라이언트 애플리케이션의 활성화 링크에 액세스하는 것에 응답하여, 단말기는 클라이언트 애플리케이션을 활성화(예를 들면, 깨우기)한다.
본 개시내용의 다양한 실시예들에 따라, 단말기는 클라이언트 애플리케이션의 활성화와 관련하여 제 1 토큰을 획득한다(예를 들면, 수신한다, 검색한다 등). 예를 들면, 클라이언트 애플리케이션은 활성화 링크로부터 제 1 토큰을 획득한다. 클라이언트 애플리케이션은 활성화 링크로부터 및/또는 활성화 링크에 액세스함으로써 웹사이트의 액세스 어드레스, 제 1 토큰 등을 획득한다.
단계(240)에서, 검증 요청이 통신된다. 일부 실시예들에서, 단말기는 검증 요청을 서버에 통신한다. 일부 실시예들에서, 검증 요청은 제 1 토큰을 포함한다. 예를 들면, 검증 요청은 클라이언트 애플리케이션이 활성화 링크로부터 획득한 제 1 토큰을 포함한다. 단말기는 클라이언트 애플리케이션이 활성화되는 것에 응답하여 검증 요청을 생성 및/또는 통신할 수 있다.
단계(250)에서, 검증 요청에 대한 응답이 수신된다. 일부 실시예들에서, 단말기는 검증 요청에 대한 응답을 수신한다. 예를 들면, 단말기는 서버로부터 검증 요청에 대한 응답을 수신한다. 서버는 검증 요청에 포함된 제 1 토큰이 유효한지를 결정하고, 검증 요청에 포함된 제 1 토큰이 유효하다고 결정하는 것에 응답하여, 서버는 검증 요청에 대한 응답을 통신한다. 일부 실시예들에서, 검증 요청에 대한 응답은 검증 요청에 포함된 제 1 토큰이 유효한지에 관한 표시를 포함한다.
단계(260)에서, 제 2 토큰이 생성된다. 일부 실시예들에서, 단말기는 제 2 토큰을 생성한다. 예를 들면, 단말기는 검증 요청에 포함된 제 1 토큰이 유효하다는 표시를 수신하는 것에 응답하여 제 2 토큰을 생성한다. 일부 실시예들에서, 검증 요청에 포함된 제 1 토큰이 유효한 경우, 클라이언트 애플리케이션은 제 2 토큰을 생성하고 단말기 상의 브라우저를 활성화하여 웹사이트에 액세스한다. 일부 실시예들에서, 단말기(예를 들면, 클라이언트 애플리케이션)는 MD5 등과 같은 알려진 암호화 기법을 사용하여 제 1 토큰을 암호화함으로써 제 2 토큰을 생성한다.
단계(270)에서, 제 2 토큰을 포함하는 액세스 요청이 통신된다. 일부 실시예들에서, 단말기는 제 2 토큰을 포함하는 액세스 요청을 통신한다. 예를 들면, 웹사이트에 액세스하기 위해 클라이언트 애플리케이션이 단말기 상의 브라우저를 활성화하는 것에 응답하여, 단말기는 제 2 토큰을 포함하는 액세스 요청을 통신한다.
도 3은 본 개시내용의 다양한 실시예들에 따라 웹사이트에 액세스하는 단말기가 모바일 단말기인지를 결정하기 위한 방법의 흐름도이다.
도 3을 참조하면, 개별적으로 또는 조합하여 동작하는 하나 이상의 서버들이, 웹사이트에 액세스하는(예를 들면, 로그인하는) 단말기가 모바일 단말기인지를 검증(예를 들면, 결정)하기 위한 방법(300)이 제공된다. 일부 실시예들에서, 방법(300)은 도 5에 예시된 서버(520)에 의해 구현될 수 있다.
305에서, 디스플레이 정보가 수신된다. 일부 실시예들에서, 서버(예를 들면, 웹사이트와 연관된 웹사이트 서버)는 단말기로부터 디스플레이 정보를 수신한다. 일부 실시예들에서, 디스플레이 정보는 단말기에 대한 스크린 해상도 정보를 포함한다. 예로서, 디스플레이 정보는 웹사이트에 액세스하도록 시도하는 또는 웹사이트에 로그인하도록 시도하는 단말기로부터 액세스 요청과 관련하여 포함되거나 수신된다. 예를 들면, 단말기(예를 들면, 사용자)가 단말기 상의 브라우저를 통해 웹사이트에 로그인할 때, 단말기(예를 들면, 브라우저)는 서버에 메시지를 통신한다. 일부 실시예들에서, 서버에 통신되는 메시지는 단말기에 대한 스크린 해상도 정보를 포함한다. 브라우저는 그로부터 단말기에 대한 스크린 해상도 정보를 획득할 수 있다. 예를 들면, 일부 실시예들에서, 브라우저는 페이지 상의 해상도를 획득하기 위한 실행 프로그램을 실행한다. 예로서, 실행 프로그램은 페이지에 대한 해상도를 획득하고 스크린 해상도를 포함하는 메시지를 서버에 전송하기 위해 스크립트 언어로(예를 들면, 자바스크립트 언어로) 사전에 작성된다. 본 개시내용의 다양한 실시예들에 따라, 스크린 해상도는 단말기(예를 들면, 브라우저)에 의해 서버에 전송되는 HTTP 요청에 포함된다.
단계(310)에서, 단말기의 사용자 에이전트 정보가 획득된다. 일부 실시예들에서, 서버는 단말기의 사용자 에이전트 정보(예를 들면, 브라우저의 사용자 에이전트 정보)를 획득할 수 있다. 본 개시내용의 다양한 실시예들에 따라, 서버는 HTTP 요청의 사용자-에이전트 헤더에 포함된 사용자 에이전트 정보를 사용하여 단말기의 기기 타입을 결정한다. 예를 들면, 서버는 기기 타입을 사용자 에이전트 정보에 포함된 데이터와 연관시키는 맵핑 테이블을 저장하고, 맵핑 테이블에서 기기 타입을 룩업하는데 사용자 에이전트 정보를 사용한다. 다른 예로서, 사용자 에이전트 정보는 대응하는 단말기(예를 들면, 브라우저가 실행되는 단말기)의 특정 기기 타입을 표시하는 데이터를 포함한다.
본 개시내용의 다양한 실시예들에 따라, 브라우저는 웹 페이지에 액세스하는 것과 연관되는 HTTP 요청의 사용자 에이전트 정보를 포함한다. 일부 실시예들에서, 사용자 에이전트 정보는 식별자들(예를 들면, 액세스되는 웹사이트에 제공되는)을 포함한다. 예를 들면, 사용자 에이전트 정보에 포함된 식별자들은 브라우저 타입, 운영 체제, 및 단말기가 사용하는 브라우저 코어 등을 포함한다. 따라서, 브라우저의 사용자 에이전트 정보는 단말기에 의해 서버에 통신되는 HTTP 요청으로부터 획득될 수 있다. 일부 실시예들에서, 서버는 사용자 에이전트 정보 및/또는 HTTP 요청을 분석하고 서버는 그로부터 단말기의 기기 타입을 결정한다.
본 개시내용의 다양한 실시예들에 따라, 서버는 디스플레이 정보 및 사용자 에이전트 정보를 동시에 수신한다. 예를 들면, 디스플레이 정보 및 사용자 에이전트 정보는 액세스 요청(예를 들면, HTTP 요청 등)에 포함된다. 일부 실시예들에서, 단계(305) 및 단계(310)는 조합되거나 동시에 수행된다.
단계(315)에서, 단말기의 스크린 해상도가 결정된다. 일부 실시예들에서, 서버는 단말기의 스크린 해상도를 결정한다. 본 개시내용의 다양한 실시예들에 따라, 기기 타입은 기기 타입에 대응하는 스크린 해상도를 결정하기 위한 기초로서 사용된다. 예를 들면, 일부 실시예들에서, 단말기의 스크린 해상도가 사용 중에 설정되기 때문에, 서버는 단말기의 기기 타입의 분석을 통해(예를 들면, 그 결정을 통해) 단말기의 스크린 해상도를 결정한다. 일부 실시예들에서, 서버는 기기 타입과 스크린 해상도 사이의 관계를 저장한다. 본 개시내용의 다양한 실시예들에 따라, 브라우저의 사용자 에이전트 정보를 분석함으로써 단말기의 기기 타입을 획득한 후에, 서버는 기기 타입과 스크린 해상도 사이의 관계에 기초하여 기기 타입에 대응하는 스크린 해상도를 결정한다.
단계(320)에서, 결정된 스크린 해상도가 수신된 디스플레이 정보와 동일한지에 대한 결정이 이루어진다. 일부 실시예들에서, 서버는 결정된 스크린 해상도(예를 들면, 에이전트 정보를 사용하여 결정된 스크린 해상도)가 수신된 디스플레이 정보와 동일한(예를 들면, 매칭하는)지를 결정한다. 예를 들면, 서버는 에이전트 정보를 사용하여 결정된 스크린 해상도가 웹사이트에 액세스하도록 시도하는 또는 웹사이트에 로그인하도록 시도하는 단말기로부터 액세스 요청과 관련하여 포함된 또는 수신된 HTTP 요청에 포함된 디스플레이 정보에 포함된 스크린 해상도와 동일한지를 결정한다. 서버는 기기 타입에 대응하는 스크린 해상도를 브라우저로부터 수신된 단말기 스크린 해상도와 비교한다. 따라서, 서버는 기기 타입에 대응하는 스크린 해상도와 브라우저로부터 수신된 단말기 스크린 해상도가 동일한지를 결정한다. 예를 들면, 브라우저 사용자 에이전트 정보를 분석함으로써 획득된 단말기의 기기 타입에 대응하는 스크린 해상도는 브라우저로부터 수신된 단말기 스크린 해상도와 비교하여 브라우저 사용자 에이전트 정보를 분석함으로써 획득된 단말기의 기기 타입에 대응하는 스크린 해상도와 브라우저로부터 수신된 단말기 스크린 해상도가 동일한지를 결정한다.
서버가 결정된 스크린 해상도(예를 들면, 에이전트 정보를 사용하여 결정된 스크린 해상도)가 단계(320)에서 수신된 디스플레이 정보와 동일하지 않은 경우(즉, 2개의 해상도들이 매칭하지 않는 경우), 웹사이트에 액세스하는 단말기가 모바일 단말기인지를 결정하기 위한 방법이 종료될 수 있다. 예를 들면, 기기 타입에 대응하는 스크린 해상도와 브라우저로부터 수신된 단말기 스크린 해상도가 상이한 경우, 웹사이트에 로그인하거나 액세스하기 위해 사용자에 의해 사용되는 단말기는 모바일 단말기가 아닌 것으로 결정된다. 이것은 해커들이 때때로, 제한된 모바일-디바이스 전용 웹페이지들에 대한 액세스를 획득하기 위하여, HTTP 요청에 포함된 사용자 에이전트 정보를 변경하여 개인용 컴퓨터와 같은 논-모바일 단말기보다는 모바일 단말기로부터 요청이 전송되는 척하기 때문이다. HTTP 요청과 단말기 사이의 임의의 불일치 및 스크린 해상도를 확인하여 일부 가짜 요청들을 검출할 수 있다.
대조적으로, 서버가 결정된 스크린 해상도(예를 들면, 에이전트 정보를 사용하여 결정된 스크린 해상도)가 단계(320)에서 수신된 디스플레이 정보와 동일하다(예를 들면, 매칭된다)고 결정하는 경우, 서버는 서버가 제 1 토큰을 생성하는 단계(325)로 진행한다. 예를 들면, 기기 타입에 대응하는 스크린 해상도가 브라우저로부터 수신된 단말기 스크린 해상도와 동일한 경우, 서버는 제 1 토큰을 생성하고 제 1 토큰을 서버 상에(또는 서버에 접속된 저장 디바이스 상에) 저장한다. 즉, 기기 타입에 대응하는 스크린 해상도와 브라우저로부터 수신된 단말기 스크린 해상도 간의 비교 결과가 기기 타입에 대응하는 스크린 해상도와 브라우저로부터 수신된 단말기 스크린 해상도가 동일한 경우, 제 1 토큰이 생성된다. 일부 실시예들에서, 제 1 토큰이 서버에 의해 생성된다. 본 개시내용의 다양한 실시예들에 따라, 제 1 토큰은 단말기의 IP 어드레스, 서버의 물리적 어드레스(예를 들면, MAC 어드레스), 타임스탬프(예를 들면, 제 1 토큰의 생성을 위한 타임스탬프), 일련 번호 등을 포함한다. 일부 실시예들에서, 제 1 토큰은 고유한 토큰이다. 예를 들면, 일부 실시예들에서, 서버는 새로운 일련 번호를 대응하는 제 1 토큰과 연관시킨다. 서버가 제 1 토큰을 생성할 때마다, 서버는 일련 번호를 일씩 증가시키고(예를 들면, 일련 번호 생성기는 일련 번호가 생성될 때마다 생성된 일련 번호들의 계수를 일씩 증가시킬 수 있음), 일련 번호는 제 1 토큰의 고유성을 보장하도록 현재 생성된 제 1 토큰과 연관된다. 본 개시내용의 다양한 실시예들에 따라, 제 1 토큰은 만료 일자 또는 시간, 제 1 토큰이 유효하게 있는 시간 기간 등을 가진다. 일부 실시예들에서, 제 1 토큰은 시간 기간 동안 서버 상에 저장된다(예를 들면, 만료 일자 또는 시간이 경과될 때까지, 제 1 토큰이 유효하게 있는 시간 기간이 만료될 때까지 등). 예를 들면, 서버는 제 1 토큰이 만료될 때까지 제 1 토큰을 저장하여서, 웹사이트에 로그인하는 단말기가 모바일 단말기인지를 검증(예를 들면 결정)하기 위하여 제 1 토큰이 만료되지 않는 동안(예를 들면, 미경과된 기간에서) 제 1 토큰이 사용될 수 있다. 본 개시내용의 다양한 실시예들에 따라, 제 1 토큰의 만료에 응답하여, 서버는 제 1 토큰을 삭제한다.
단계(330)에서, 액세스 요청과 연관되는 정보가 통신된다. 일부 실시예들에서, 서버는 액세스 요청과 연관되는 정보를 단말기에 통신한다. 예를 들면, 서버는 제 1 토큰을 단말기에 전송한다. 다른 예로서, 서버는 리다이렉트 스크립트를 포함하는 페이지를 단말기에(예를 들면, 단말기 상의 브라우저에) 전송한다. 일부 실시예들에서, 단말기에 통신되는 액세스 요청과 연관되는 정보는 단말기로 하여금 리다이렉트 스크립트를 실행하도록 한다(예를 들면, 서버는 브라우저로 하여금 리다이렉트 스크립트를 실행하게 하는 정보를 단말기에 통신한다).
일부 실시예들에서, 단말기는 활성화 링크가 단말기에 의해 액세스되는 것에 응답하여 검증 요청을 서버에 전송한다. 일부 실시예들에서, 활성화 링크가 단말기에 의해 액세스되는 것에 응답하여, 클라이언트 애플리케이션이 단말기 상에서 활성화된다.
본 개시내용의 다양한 실시예들에 따라, 리다이렉트 스크립트는 클라이언트 애플리케이션을 활성화하기 위하여, 단말기(예를 들면, 단말기 상의 브라우저)로 하여금 단말기 상의 클라이언트 애플리케이션을 활성화하는 활성화 링크에 액세스하도록 구성된다. 일부 실시예들에서, 리다이렉트 스크립트는 단말기 상에 설치된 클라이언트 애플리케이션을 활성화하기 위한 활성화 링크를 포함한다. 클라이언트 애플리케이션은 단말기 상에 설치되는 하나 이상의 클라이언트 애플리케이션들 중 임의의 하나일 수 있다. 일부 실시예들에서, 활성화 링크(예를 들면, 오픈 유니폼 리소스 로케이터(URL: Open Uniform Resource Locator) 등)는 단말기 상에 설치된 하나의 클라이언트 애플리케이션에 대해 규정되고 클라이언트 애플리케이션이 다른 클라이언트 애플리케이션들에 의해 활성화될 수 있게 하는 링크에 대응한다. 각각의 클라이언트 애플리케이션은 활성화 링크를 규정할 수 있다. 단말기 상의 다른 애플리케이션(예를 들면, 다른 클라이언트 애플리케이션)이 활성화 링크를 실행하는 것에 응답하여, 단말기(예를 들면, 다른 애플리케이션)는 클라이언트 애플리케이션을 활성화할 수 있다. 예를 들면, 클라이언트 애플리케이션 활성화 링크는 단말기 상의 브라우저에 입력되고, 클라이언트 애플리케이션은 활성화 링크에 액세스함으로써 활성화(예를 들면, 깨우기)된다. 본 개시내용의 다양한 실시예들에 따라, 리다이렉트 스크립트를 포함하는 페이지가 단말기의 브라우저에 전송된다(예를 들면, 서버는 리다이렉트 스크립트를 포함하는 페이지를 단말기의 브라우저에 전송한다). 일부 실시예들에서, 리다이렉트 스크립트는 자바스크립트 스크립트(예를 들면, 자바스크립트 언어로 작성된 실행 코드) 등이다. 단말기(예를 들면, 단말기 상의 브라우저 또는 다른 애플리케이션)가 리다이렉트 스크립트를 실행하는(예를 들면, 자바스크립트 엔진을 통해 리다이렉트 스크립트를 판독 및 분석한 후에 리다이렉트 스크립트를 실행하는) 경우, 브라우저는 리다이렉트 스크립트에 포함된 클라이언트 애플리케이션 활성화 링크에 액세스하기 위해 페이지 리다이렉트를 실행하고 따라서 클라이언트 애플리케이션을 활성화할 수 있다.
단계(335)에서, 검증 요청이 수신된다. 일부 실시예들에서, 서버는 검증 요청을 수신한다. 예를 들면, 서버는 단말기로부터 검증 요청을 수신한다. 일부 실시예들에서, 검증 요청은 단말기 상의 클라이언트 애플리케이션에 의해 전송된다. 본 개시내용의 다양한 실시예들에 따라, 검증 요청은 서버로부터 단말기에 의해 수신된 제 1 토큰을 포함한다. 예를 들면, 검증 요청은 활성화 링크로부터 클라이언트 애플리케이션에 의해 획득되는 제 1 토큰을 포함한다.
일부 실시예들에서, 클라이언트 애플리케이션은 리다이렉트 스크립트를 실행하는 단말기(예를 들면, 단말기 상의 브라우저)에 의해 그 후에 활성화 링크에 의해 활성화된다. 본 개시내용의 다양한 실시예들에 따라, 활성화 링크는 웹사이트의 액세스 어드레스, 제 1 토큰 등을 포함한다. 일부 실시예들에서, 클라이언트 애플리케이션은 활성화 링크로부터 및/또는 활성화 링크에 액세스함으로써 웹사이트의 액세스 어드레스, 제 1 토큰 등을 획득한다.
본 개시내용의 다양한 실시예들에 따라, 단말기(예를 들면, 단말기 상의 브라우저)가 리다이렉트 스크립트를 실행한 다음 활성화 링크에 액세스하는 것에 응답하여, 클라이언트 애플리케이션이 활성화된다(예를 들면, 깨우기 등). 일부 실시예들에서, 클라이언트 애플리케이션은 활성화 링크로부터 및/또는 활성화 링크에 액세스함으로써 웹사이트의 액세스 어드레스, 제 1 토큰 등을 획득한다. 클라이언트 애플리케이션은 제 1 토큰이 유효한지에 관한 검증을 요청하는 검증 요청을 서버에 전송하기 위한 기초로서 액세스 어드레스를 사용한다. 일부 실시예들에서, 단말기(예를 들면, 클라이언트 애플리케이션)는 클라이언트 애플리케이션이 활성화되는 것에 응답하여 검증 요청을 생성한다. 일부 실시예들에서, 검증 요청은 제 1 토큰 등을 포함한다.
단계(340)에서, 검증 요청이 유효한지의 결정이 이루어진다. 일부 실시예들에서, 서버는 검증 요청이 유효한지를 결정한다. 예를 들면, 서버는 제 1 토큰을 유효하게 한다. 본 개시내용의 다양한 실시예들에 따라, 서버는 검증 요청에 포함된 제 1 토큰이 유효한지를 결정한다. 그 후, 검증 결과(예를 들면, 검증 요청에 포함된 제 1 토큰이 유효한지에 관한 결정의 결과)가 단말기(예를 들면, 클라이언트 애플리케이션)에 전송된다.
본 개시내용의 다양한 실시예들에 따라, 서버는 제 1 토큰 어떤 시간 기간 동안(예를 들면, 제 1 토큰이 만료할 때까지) 저장한다. 예로서, 어떤 시간 기간은 10초가 될 수 있다. 일부 실시예들에서, 서버는 제 1 토큰이 만료 시간을 경과한 경우 제 1 토큰을 삭제한다.
서버는 검증 요청에 포함된 제 1 토큰을 액세스 요청에 응답하여 생성된 제 1 토큰과 비교함으로써 검증 요청에 포함된 제 1 토큰이 유효한지를 결정한다. 예를 들면, 단말기(예를 들면, 클라이언트 애플리케이션)로부터 검증 요청을 수신하는 것에 응답하여, 서버는 서버가 검증 요청에 포함된 제 1 토큰과 동일한 제 1 토큰을 가지는지(예를 들면, 저장하고 있는지)를 결정하기 위해 질의받을 수 있다. 서버가 검증 요청에 포함된 제 1 토큰과 동일한 제 1 토큰을 가지는 경우, 제 1 토큰은 유효한 것으로 확인된다.
단계(340)에서 검증 요청이 유효한 것으로 결정되지 않는 경우(예를 들면, 검증 요청에 포함된 제 1 토큰이 유효하지 않은 것으로 결정되는 경우), 단말기가 모바일 단말기인지를 결정하기 위한 방법이 종료될 수 있다. 예를 들면, 일부 실시예들에서, 서버는 웹사이트에 로그인하도록 시도하는 단말기가 모바일 단말기가 아니라고 결정할 수 있다.
대조적으로, 단계(340)에서 검증 요청이 유효한 것으로 결정되는 경우(예를 들면, 검증 요청에 포함된 제 1 토큰이 유효한 것으로 결정되는 경우), 단계(345)에서, 검증 요청이 유효하다는 표시가 통신될 수 있다. 일부 실시예들에서, 서버는 검증 요청이 유효하다는 표시를 통신할 수 있다. 예를 들면, 서버가 검증 요청에 포함된 제 1 토큰이 유효하다고(예를 들면, 액세스 요청에 응답하여 생성된 제 1 토큰과 매칭한다고) 결정하는 것에 응답하여, 서버는 검증 요청이 유효하다는 표시를 단말기에 전송한다.
본 개시내용의 다양한 실시예들에 따라, 검증 요청이 유효하다(예를 들면, 검증 요청에 포함된 제 1 토큰이 유효하다)는 표시를 수신하는 것에 응답하여, 단말기는 제 2 토큰을 생성한다. 예를 들면, 일부 실시예들에서, 단말기(예를 들면, 클라이언트 애플리케이션)는 제 1 토큰을 암호화함으로써 제 2 토큰을 생성한다. 본 개시내용의 다양한 실시예들에 따라, 단말기는 제 1 토큰이 유효한 것으로 결정되는 경우에만 제 2 토큰을 생성한다. 예를 들면, 검증 요청에 포함된 제 1 토큰이 유효한 경우, 클라이언트 애플리케이션은 제 2 토큰을 생성하고 단말기 상의 브라우저를 활성화하여 웹사이트에 액세스한다. 단말기(예를 들면, 단말기 상의 브라우저)는 웹사이트의 액세스를 위한 액세스 요청을 전송한다.
단계(350)에서, 제 2 토큰을 포함하는 액세스 요청이 수신된다. 일부 실시예들에서, 서버는 제 2 토큰을 포함하는 액세스 요청을 수신한다. 예를 들면, 서버는 단말기로부터 제 2 토큰을 포함하는 액세스 요청을 수신한다.
단계(355)에서, 단말기의 타입이 제 2 토큰에 기초하여 결정된다. 일부 실시예들에서, 서버는 제 2 토큰에 기초하여 단말기의 타입을 결정한다. 본 개시내용의 다양한 실시예들에 따라, 제 2 토큰이 유효한 경우, 단말기는 모바일 단말기인 것으로 결정된다.
본 개시내용의 다양한 실시예들에 따라, 제 2 토큰을 포함하는 액세스 요청을 수신하는 것에 응답하여, 서버는 제 2 토큰이 유효한지를 결정한다. 예를 들면, 서버는 단말기가 모바일 단말기인지를 결정하기 위해 제 2 토큰이 제 1 토큰의 암호화된 버전에 대응하는지에 따라 액세스 요청에 포함된 제 2 토큰이 유효한지를 검증한다. 일부 실시예들에서, 서버는, 제 2 토큰을 복호하고 복호된 제 2 토큰을 제 1 토큰과 비교함으로써 제 2 토큰이 유효한지를 결정한다. 복호된 제 2 토큰이 제 1 토큰과 매칭하는(예를 들면, 서버 상에 저장되는) 경우, 서버는 제 2 토큰이 유효하다고 결정한다.
본 개시내용의 다양한 실시예들에 따라, 단말기(예를 들면, 클라이언트 애플리케이션)가 서버로부터 제 1 토큰이 유효하다고 표시하는 결과를 수신하는 것에 응답하여, 단말기(예를 들면, 클라이언트 애플리케이션)는 제 1 토큰을 암호화하여 제 2 토큰을 생성한다. 검증 요청에 포함된 제 1 토큰이 유효하지 않으면, 서버는 웹사이트에 로그인하기 위해 사용자에 의해 사용되는 단말기가 모바일 단말기가 아니라고 결정한다.
본 개시내용의 다양한 실시예들에 따라, 클라이언트 애플리케이션이 서버로부터 제 1 토큰이 유효한지를 결정하는 결과를 수신하는 것에 응답하여, 제 1 토큰이 유효하면, 클라이언트는 제 1 토큰을 암호화하여 제 2 토큰을 생성할 수 있다. 일부 실시예들에서, 단말기 상의 브라우저는 브라우저로 하여금 웹사이트에 액세스하기 위한 액세스 요청을 서버에 전송하게 하기 위해 활성화된다. 일부 실시예들에서, 액세스 요청은 제 2 토큰을 포함한다. 제 2 토큰은 제 1 토큰이 유효한 것으로 결정될 때 제 1 토큰을 암호화하는 클라이언트 애플리케이션의 결과로서 생성된다.
서버는 브라우저로부터 전송되는 웹사이트에 액세스하기 위한 액세스 요청을 수신하고 액세스 요청에 포함된 제 2 토큰이 유효한지를 검증한다. 예를 들면, 서버는 제 2 토큰을 복호하여 제 1 토큰을 획득하고, 제 1 토큰은 제 2 토큰을 복호함으로써 획득되는 제 1 토큰이 유효한지에 관해 검증된다. 예를 들면, 서버는 제 2 토큰의 복호로부터 획득되는 제 1 토큰과 동일한 제 1 토큰을 서버가 가지는지에 관해 질의받는다. 서버가 제 2 토큰의 복호로부터 획득되는 제 1 토큰과 동일한 제 1 토큰을 가지는 경우, 제 1 토큰은 유효한 것으로 확인된다. 제 2 토큰의 복호로부터 획득되는 제 1 토큰이 유효한 경우, 제 2 토큰은 유효한 것으로 확인될 수 있다.
본 개시내용의 다양한 실시예들에 따라, 제 2 토큰이 유효한 것으로 결정되면, 단말기는 모바일 단말기인 것으로 간주된다. 예를 들면, 제 2 토큰이 유효한 경우, 사용자가 웹사이트에 로그인한 단말기는 모바일 단말기인 것으로 결정된다. 대조적으로, 제 2 토큰이 유효한 것으로 결정되지 않는 경우, 웹사이트에 로그인하기 위해 사용자에 의해 사용된 단말기는 모바일 단말기인 것으로 결정되지 않는다.
본 애플리케이션의 다양한 실시예들에 따라, 웹사이트에 액세스하는 단말기가 모바일 단말기인지를 결정하기 위한 방법은 단말기(예를 들면, 단말기 상의 브라우저)에 전송되는 쿠키에 제 2 토큰을 기록하는 단계를 포함한다. 예를 들면, 제 2 토큰이 유효한 것으로 결정되면, 제 2 토큰은 브라우저에 전송되는 쿠키에 기록된다.
본 개시내용의 다양한 실시예들에 따라, 쿠키는 서버에 의해 생성되어 브라우저에 전송된다. 브라우저는 일반적으로 쿠키를 단말기 상의 디렉토리 아래에 텍스트 파일로 저장할 것이다. 웹사이트에 액세스하기 위한 후속 요청(예를 들면, 동일한 사이트가 요청된 다음)과 관련하여, 브라우저는 쿠키를 서버에 전송할 것이다. 따라서, 서버는 브라우저에 전송되는 쿠키에 제 2 토큰을 배치하고 제 2 토큰을 포함하는 쿠키를 브라우저에 전송할 수 있다.
일부 실시예들에서, 서버는 제 2 토큰에 대한 만료 일자(예를 들면, 1 개월 후)를 설정한다. 단말기(예를 들면, 사용자)가 브라우저를 사용하여 다시 웹사이트에 로그인할 때, 브라우저의 쿠키는 쿠키가 제 2 토큰을 포함할지를 결정하기 위해 확인된다. 브라우저의 쿠키가 제 2 토큰을 포함하도록 결정되는 경우, 쿠키에 포함된 제 2 토큰은 제 2 토큰이 유효하다고 확인하기 위해 검증된다. 예를 들면, 서버는 서버가 제 2 토큰을 가지는지(예를 들면, 저장하고 있는지)에 관해 질의받는다. 서버가 제 2 토큰을 가지는 경우, 브라우저의 쿠키에 포함된 제 2 토큰은 유효한 것으로 확인된다. 브라우저의 쿠키에 포함된 제 2 토큰이 유효한 것으로 확인되는 경우, 브라우저를 실행하고 있는 단말기는 모바일 단말기로 확인된다.
본 개시내용의 다양한 실시예들에 따라, 브라우저의 쿠키에 포함된 제 2 토큰이 아직 만료되지 않은(예를 들면, 제 2 토큰의 만료 일자 전인) 경우, 단계(305) 내지 단계(345)는 실행될 필요가 없다. 예를 들면, 웹사이트에 로그인하고 있는 단말기는 모바일 단말기로 또는 논-모바일 단말기로 검증될 수 있다. 다른 예로서, 웹사이트에 로그인하고 있는 단말기는 웹사이트에 로그인하고 있는 단말기가 쿠키를 획득한 단말기인지에 관해 검증된다. 예를 들면, 서버는, 단말기에 의해 서버에 전송되는 HTTP 요청에서 웹사이트에 로그인하고 있는 단말기의 식별 정보(예를 들면, 사용자 에이전트 정보, IP 어드레스 정보 등)를 획득함으로써, 웹사이트에 로그인하고 있는 단말기가 이전에 쿠키를 획득한 단말기에 대응하는지를 결정할 수 있다. 일부 실시예들에서, 서버는 쿠키와 쿠키를 획득한(예를 들면, 단말기의 사용자 에이전트 정보, IP 어드레스 정보 등을 사용하여) 단말기의 식별 사이의 관계를 저장한다. 일부 실시예들에서, 서버는 웹사이트에 로그인하기 위해 사용되는 단말기가 이전에 쿠키를 획득한 단말기인지를 결정하기 위한 기초로서 쿠키와 쿠키를 획득한 단말기의 식별 사이의 관계를 사용한다. 웹사이트에 로그인하기 위해 사용되는 단말기가 이전에 쿠키를 획득한 단말기가 아니면, 웹사이트에 로그인하기 위해 사용되는 단말기(예를 들면, 사용자)는 단말기를 통해 웹사이트에 로그인하도록 허용되지 않는다.
본 애플리케이션의 다양한 실시예들에 따라, 웹사이트에 액세스하는 단말기가 모바일 단말기인지를 결정하기 위한 방법은 웹사이트에 로그인할 때 단말기(예를 들면, 사용자)에 의해 입력된 로그인 정보가 정확한지를 검증하는 단계를 포함한다. 일부 실시예들에서, 로그인 정보가 정확한 경우, 제 1 토큰이 생성된다. 즉, 기기 타입에 대응하는 스크린 해상도와 브라우저로부터 수신된 단말기 스크린 해상도가 동일한 경우, 사용자에 의해 입력된 로그인 정보는 로그인 정보가 정확하다고 확인하기 위해 검증된다. 일부 실시예들에서, 로그인 정보는 계정 식별자(로그인 명, 계정 번호 등), 패스워드, 및 사용자에 의해 입력되는 다른 정보를 포함한다. 로그인 정보가 정확하다고 확인되는 경우, 제 1 토큰이 생성될 수 있다.
도 4는 본 개시내용의 다양한 실시예들에 따라, 웹사이트에 액세스하는 단말기의 흐름도이다.
도 4를 참조하면, 웹사이트에 액세스하는 단말기에 대한 방법(400)이 예시된다. 일부 실시예들에서, 방법(400)은 도 5의 단말기(510)에 의해 구현될 수 있다.
단계(410)에서, 디스플레이 정보가 통신된다. 일부 실시예들에서, 단말기는 디스플레이 정보를 웹사이트(예를 들면, 웹사이트 서버)와 연관된 서버에 통신한다. 일부 실시예들에서, 디스플레이 정보는 단말기에 대한 스크린 해상도 정보를 포함한다. 일부 실시예들에서, 웹사이트에 액세스하도록 시도하거나 웹사이트에 로그인하도록 시도하는 단말기로부터 액세스 요청과 관련하는 디스플레이 정보가 포함되거나 수신된다. 예를 들면, 단말기(예를 들면, 사용자)가 단말기 상의 브라우저를 통해 웹사이트에 로그인할 때, 단말기(예를 들면, 브라우저)는 서버에 메시지를 통신한다. 일부 실시예들에서, 서버에 통신되는 메시지는 단말기에 대한 스크린 해상도 정보를 포함한다. 일부 실시예들에서, 브라우저는 그로부터 단말기에 대한 스크린 해상도를 획득한다. 예를 들면, 브라우저는 페이지에 대한 해상도를 획득하기 위한 실행 프로그램을 실행할 수 있다. 일부 실시예들에서, 실행 프로그램은, 페이지에 대한 해상도를 획득하고 스크린 해상도를 포함하는 메시지를 서버에 전송하기 위해 스크립트 언어(예를 들면, 자바스크립트 언어)로 사전에 작성된다. 본 개시내용의 다양한 실시예들에 따라, 스크린 해상도는 단말기(예를 들면, 브라우저)에 의해 서버에 전송되는 HTTP 요청에 포함된다.
단계(420)에서, 단말기의 사용자 에이전트 정보가 통신된다. 일부 실시예들에서, 단말기는 단말기의 사용자 에이전트 정보(예를 들면, 브라우저의 사용자 에이전트 정보)를 웹사이트와 연관된 서버에 통신한다. 일부 실시예들에서, 사용자 에이전트 정보는 단말기의 기기 타입이 결정될 수 있는 데이터를 포함한다. 예를 들면, 사용자 에이전트 정보는 대응하는 단말기(예를 들면, 브라우저가 실행되는 단말기)의 특정 기기 타입을 표시하는 데이터를 포함한다.
본 개시내용의 다양한 실시예들에 따라, 브라우저는 웹페이지에 액세스하는 것과 연관되는 사용자 에이전트 정보를 HTTP 요청에 포함한다. 일부 실시예들에서, 사용자 에이전트 정보는 식별자들(예를 들면, 액세스되는 웹사이트에 제공되는)을 포함한다. 예를 들면, 사용자 에이전트 정보에 포함된 식별자들은 브라우저 타입, 운영 체제, 및 단말기가 사용하는 브라우저 코어 등을 포함한다.
본 개시내용의 다양한 실시예들에 따라, 단말기는 디스플레이 정보 및 사용자 에이전트 정보를 서버에 동시에 전송한다. 예를 들면, 디스플레이 정보 및 사용자 에이전트 정보는 액세스 요청(예를 들면, HTTP 요청 등)에 포함된다. 예를 들면, 단계(410) 및 단계(420)는 조합되거나 동시에 수행될 수 있다.
단말기는 웹사이트와 연관된 서버(예를 들면, 웹사이트 서버)에 액세스 요청을 통신한다. 일부 실시예들에서, 액세스 요청은 단말기의 IP 어드레스 등을 포함한다. 예를 들면, 액세스 요청은 단말기가 식별될 수 있는 정보를 포함한다. 일부 실시예들에서, 액세스 요청은 웹사이트에 액세스하기 위한 요청이나 그에 로그인하기 위한 시도와 연관된다. 액세스 요청은 디스플레이 정보 및 사용자 에이전트 정보 중 하나 이상을 포함할 수 있다.
단계(430)에서, 액세스 요청과 연관되는 정보가 수신된다. 일부 실시예들에서, 단말기는 액세스 요청과 연관된 정보를 수신한다. 예를 들면, 단말기는 서버(예를 들면, 단말기가 액세스 요청을 통신한 서버)로부터 액세스 요청과 연관된 정보를 수신한다. 일부 실시예들에서, 액세스 요청과 연관된 정보는 리다이렉트 스크립트를 포함하는 페이지(또는 그에 대한 링크)를 포함한다. 일부 실시예들에서, 단말기에 의해 수신되는 액세스 요청과 연관된 정보는 단말기로 하여금 리다이렉트 스크립트를 실행하도록 한다. 예를 들면, 리다이렉트 스크립트는 클라이언트 애플리케이션을 활성화하기 위하여 단말기(예를 들면, 단말기 상의 브라우저)로 하여금 단말기 상의 클라이언트 애플리케이션을 활성화하는 활성화 링크에 액세스하게 하도록 구성된다. 일부 실시예들에서, 리다이렉트 스크립트는 활성화 링크를 포함한다.
단계(440)에서, 클라이언트 애플리케이션이 활성화된다. 일부 실시예들에서, 단말기는 클라이언트 애플리케이션을 활성화한다. 일부 실시예들에서, 액세스 요청과 연관된 정보를 수신하는 것에 응답하여, 단말기는 클라이언트 애플리케이션을 활성화한다. 예를 들면, 리다이렉트 스크립트를 수신하는 것에 응답하여, 단말기(예를 들면, 단말기 상의 브라우저)는 리다이렉트 스크립트에 따라 페이지 리다이렉션을 실행한다. 일부 실시예들에서, 페이지 리다이렉션은 단말기(예를 들면, 단말기 상의 브라우저)로 하여금 리다이렉트 스크립트에 포함된 클라이언트 애플리케이션의 활성화 링크에 액세스하도록 한다. 일부 실시예들에서, 클라이언트 애플리케이션의 활성화 링크에 액세스하는 것에 응답하여, 단말기는 클라이언트 애플리케이션을 활성화(예를 들면, 깨우기)한다.
본 개시내용의 다양한 실시예들에 따라, 단말기는 클라이언트 애플리케이션의 활성화와 관련하여 제 1 토큰을 획득한다(예를 들면, 수신한다, 검색한다 등). 예를 들면, 클라이언트 애플리케이션은 활성화 링크로부터 제 1 토큰을 획득한다. 클라이언트 애플리케이션은 활성화 링크로부터 및/또는 활성화 링크에 액세스함으로써 웹사이트의 액세스 어드레스, 제 1 토큰 등을 획득한다.
단계(450)에서, 검증 요청이 통신된다. 일부 실시예들에서, 단말기는 검증 요청을 서버에 통신한다. 일부 실시예들에서, 검증 요청은 제 1 토큰을 포함한다. 예를 들면, 검증 요청은 클라이언트 애플리케이션이 활성화 링크로부터 획득한 제 1 토큰을 포함한다. 일부 실시예들에서, 단말기는 클라이언트 애플리케이션이 활성화되는 것에 응답하여 검증 요청을 생성하거나 및/또는 통신할 수 있다.
단계(460)에서, 검증 요청에 대한 응답이 수신된다. 일부 실시예들에서, 단말기는 검증 요청에 대한 응답을 수신한다. 예로서, 단말기는 서버로부터 검증 요청에 대한 응답을 수신한다. 일부 실시예들에서, 서버는 검증 요청에 포함된 제 1 토큰이 유효한지를 결정하고, 검증 요청에 포함된 제 1 토큰이 유효하다고 결정하는 것에 응답하여, 서버는 검증 요청에 대한 응답을 통신한다. 일부 실시예들에서, 검증 요청에 대한 응답은 검증 요청에 포함된 제 1 토큰이 유효한지에 관한 표시를 포함한다.
단계(470)에서, 제 2 토큰이 생성된다. 일부 실시예들에서, 단말기는 제 2 토큰을 생성한다. 예로서, 단말기는 검증 요청에 포함된 제 1 토큰이 유효하다는 표시를 수신하는 것에 응답하여 제 2 토큰을 생성한다. 일부 실시예들에서, 검증 요청에 포함된 제 1 토큰이 유효한 경우, 클라이언트 애플리케이션은 웹사이트에 액세스하기 위해 제 2 토큰을 생성하고 단말기 상의 브라우저를 활성화한다. 일부 실시예들에서, 단말기(예를 들면, 클라이언트 애플리케이션)는 제 1 토큰을 암호화함으로써 제 2 토큰을 생성한다.
단계(480)에서, 제 2 토큰을 포함하는 액세스 요청이 통신된다. 일부 실시예들에서, 단말기는 제 2 토큰을 포함하는 액세스 요청을 통신한다. 예로서, 클라이언트 애플리케이션이 웹사이트에 액세스하기 위해 단말기 상의 브라우저를 활성화하는 것에 응답하여 단말기는 제 2 토큰을 포함하는 액세스 요청을 통신한다.
본 개시내용의 다양한 실시예들에 따라, 웹사이트에 액세스하기 위한 방법은 서버로부터 쿠키를 수신하는 단계를 포함한다. 일부 실시예들에서, 쿠키는 제 2 토큰을 포함한다. 일부 실시예들에서, 단말기는 쿠키(예를 들면, 브라우저와 관련하여)를 저장한다. 예로서, 웹사이트에 액세스하거나 로그인하기 위한 후속 시도들에서, 단말기는 서버에 쿠키를 전송한다. 일부 실시예들에서, 서버가, 웹사이트에 액세스하거나 로그인하기 위한 후속 시도와 동시에 쿠키에 포함된 제 2 토큰이 유효하다고 결정하는 경우, 단말기는 단계(430) 내지 단계(480)를 수행할 필요 없이 웹사이트에 로그인한다.
본 출원은 웹사이트에 로그인하는 단말기가 모바일 단말기인지를 결정하기 위한 서버를 또한 제공한다.
도 5는 본 개시내용의 다양한 실시예들에 따라, 웹사이트에 액세스하는 단말기가 모바일 단말기인지를 결정하기 위한 시스템을 도시한 도면이다.
도 5를 참조하면, 웹사이트에 액세스하는 단말기가 모바일 단말기인지를 결정하기 위한 시스템(500)은 단말기(510), 서버(520), 및 네트워크(530)를 포함할 수 있다. 도 5에 도시된 바와 같이, 단말기(510)는 네트워크(530)를 통해 서버(520)와 통신할 수 있다.
일부 실시예들에서, 단말기(510)는 서버(520)와 연관된 웹사이트에 액세스하거나 로그인하도록 시도한다. 예를 들면, 단말기(510)는 웹사이트에 액세스하기 위한 액세스 요청을 서버(520)에 통신한다. 일부 실시예들에서, 단말기(510)는 서버(520)로부터 액세스 요청과 연관된 정보를 수신한다. 일부 실시예들에서, 단말기(510)는 검증 요청을 생성할 수 있는 클라이언트 애플리케이션을 활성화한다. 그 후, 단말기(510)는 검증 요청을 서버(520)에 통신한다. 일부 실시예들에서, 단말기(510)는 서버(520)로부터 검증 요청에 대한 응답을 수신한다. 일부 실시예들에서, 검증 요청에 대한 응답을 수신하는 것에 응답하여, 단말기(510)는 제 2 토큰을 생성한다. 그 후, 단말기(510)는 제 2 토큰을 포함하는 액세스 요청을 서버(520)에 통신한다.
일부 실시예들에서, 서버(520)는 단말기(510)로부터 액세스 요청을 수신한다. 일부 실시예들에서, 서버(520)는 단말기(510)를 인증하고 액세스 요청과 연관된 정보를 단말기(510)에 통신한다. 일부 실시예들에서, 서버(520)는 단말기(510)로부터 검증 요청을 수신한다. 예로서, 단말기(510)로부터 검증 요청을 수신하는 것에 응답하여, 서버(520)는 검증 요청이 유효한지를 결정한다. 일부 실시예들에서, 서버(520)는 검증 요청이 유효한지에 관한 표시를 통신한다. 일부 실시예들에서, 서버(520)는 제 2 토큰을 포함하는 액세스 요청을 수신한다. 예로서, 제 2 토큰을 포함하는 액세스 요청을 수신하는 것에 응답하여, 서버(520)는 제 2 토큰이 유효한지에 따라 단말기가 모바일 단말기인지를 결정한다.
도 6a는 본 개시내용의 다양한 실시예들에 따라, 웹사이트에 로그인하는 단말기가 모바일 단말기인지를 결정하기 위한 서버의 구조 블록도이다.
도 6a를 참조하며, 웹사이트에 로그인하는 단말기가 모바일 단말기인지를 결정하기 위한 서버(600)가 제공된다. 일부 실시예들에서, 서버(600)는 도 1에 예시된 방법(100)을 구현한다.
본 출원의 다양한 실시예들에 따라, 서버(600)는 생성 모듈(601), 제 1 반환 모듈(602), 제 1 수신 모듈(603), 제 1 검증 모듈(604), 제 2 반환 모듈(605), 제 2 수신 모듈(606), 제 2 검증 모듈(607), 및 제 1 결정 모듈(608)을 포함한다.
일부 실시예들에서, 생성 모듈(601)은 사용자가 단말기 상의 브라우저를 통해 웹사이트에 로그인할 때 제 1 토큰을 생성하여 제 1 토큰을 서버(600) 상에 저장하도록 구성된다. 예로서, 생성 모듈(601)은 서버(600)가 단말기로부터 액세스 요청을 수신하는 것에 응답하여 제 1 토큰을 생성한다.
일부 실시예들에서, 제 1 반환 모듈(602)은 단말기(예를 들면, 단말기 상의 브라우저)로 하여금 리다이렉트 스크립트를 실행하도록 하기 위해 리다이렉트 스크립트를 포함하는 페이지를 단말기(예를 들면, 단말기 상의 브라우저)에 통신하고 그에 따라 단말기 상의 클라이언트 애플리케이션을 활성화하기 위해 활성화 링크에 액세스하도록 구성된다. 일부 실시예들에서, 활성화 링크는 웹사이트의 액세스 어드레스 및 제 1 토큰을 포함한다.
일부 실시예들에서, 제 1 수신 모듈(603)은 단말기에 의해(예를 들면, 클라이언트 애플리케이션에 의해) 전송되는 검증 요청을 수신하도록 구성된다. 검증 요청은 활성화 링크로부터 클라이언트 애플리케이션에 의해 획득되는 제 1 토큰을 포함한다.
일부 실시예들에서, 제 1 검증 모듈(604)은 검증 요청에 포함된 제 1 토큰이 유효한지를 결정하도록 구성된다.
일부 실시예들에서, 제 2 반환 모듈(605)은 검증 결과를 클라이언트 애플리케이션에 통신하도록 구성된다.
일부 실시예들에서, 제 2 수신 모듈(606)은, 검증 요청에서 운반되는 제 1 토큰이 유효한 경우 및 단말기(예를 들면, 클라이언트 애플리케이션)가 웹사이트에 액세스하기 위해 제 2 토큰을 생성하고 단말기 상의 브라우저를 활성화하는 경우에 웹사이트에의 액세스를 위해 단말기 상의 브라우저로부터 수신되는 액세스 요청을 수신하도록 구성된다.
일부 실시예들에서, 제 2 검증 모듈(607)은 액세스 요청에 포함된 제 2 토큰이 유효한지를 결정하도록 구성된다.
일부 실시예들에서, 제 1 결정 모듈(608)은 단말기가 모바일 단말기인지를 결정하도록 구성된다. 예를 들면, 제 1 결정 모듈(608)은 제 2 검증 모듈(607)이 제 2 토큰이 유효하다고 결정하는 경우에 단말기가 모바일 단말기라고 결정하도록 구성된다.
본 개시내용의 다양한 실시예들에 따라, 제 2 토큰은 제 1 토큰을 암호화하는 클라이언트 애플리케이션에 의해 생성된다.
본 출원의 다양한 실시예들에 따라, 제 2 검증 모듈(607)은 검증 서브-모듈 및 결정 서브-모듈을 포함한다.
일부 실시예들에서, 제 2 검증 모듈(607)에 포함된 검증 서브-모듈은, 제 2 토큰을 복호하여 제 1 토큰을 획득하고 제 2 토큰의 복호를 통해 획득되는 제 1 토큰이 유효한지를 결정하도록 구성된다.
일부 실시예들에서, 제 2 검증 모듈(607)에 포함된 결정 서브-모듈은 제 2 토큰이 유효한지를 결정하도록 구성된다. 예를 들면, 결정 서브-모듈은 제 1 토큰이 유효한 경우, 제 2 토큰이 유효하고 단말기가 모바일 단말기라고 결정한다.
본 출원의 다양한 실시예들에 따라, 서버(600)는 또한 기록 모듈을 포함할 수 있다. 예로서, 기록 모듈은 제 2 토큰이 유효한 것으로 결정되는 경우 제 2 토큰을 단말기(예를 들면, 브라우저)에 전송되는 쿠키에 기록하도록 구성된다.
본 출원의 다양한 실시예들에 따라, 서버(600)는 확인 모듈, 제 3 검증 모듈, 및 제 2 결정 모듈을 포함한다.
일부 실시예들에서, 확인 모듈은 사용자가 단말기 상의 브라우저를 통해 웹사이트에 로그인하는 것에 응답하여, 브라우저의 쿠키가 제 2 토큰을 포함하는지를 결정하도록 구성된다.
일부 실시예들에서, 제 3 검증 모듈은 사용자가 단말기 상의 브라우저를 통해 웹사이트에 로그인하고 있을 때 브라우저의 쿠키에 포함된 제 2 토큰이 유효한지를 결정하도록 구성된다.
일부 실시예들에서, 제 2 결정 모듈은 제 2 토큰(예를 들면, 쿠키에 포함된 제 2 토큰)의 유효성에 따라 단말기가 모바일 단말기인지를 결정하도록 구성된다. 예를 들면, 제 2 결정 모듈은 제 2 토큰(예를 들면, 쿠키에 포함된 제 2 토큰)이 유효한 경우 단말기가 모바일 단말기라고 결정하도록 구성된다.
도 6b는 본 개시내용의 다양한 실시예들에 따라, 웹사이트에 로그인하는 단말기가 모바일 단말기인지를 결정하기 위한 서버의 구조 블록도이다.
도 6b를 참조하면, 웹사이트에 로그인하는 단말기가 모바일 단말기인지를 결정하기 위한 서버(600)가 제공된다. 일부 실시예들에서, 서버(600)는 도 3에 예시된 방법(300)을 구현한다.
본 출원의 다양한 실시예들에 따라, 서버(600)는 생성 모듈(601), 제 1 반환 모듈(602), 제 1 수신 모듈(603), 제 1 검증 모듈(604), 제 2 반환 모듈(605), 제 2 수신 모듈(606), 제 2 검증 모듈(607), 및 제 1 결정 모듈(608)을 포함한다.
본 출원의 다양한 실시예들에 따라, 서버(600)는 또한 제 3 수신 모듈(612), 제 3 결정 모듈(614), 제 4 결정 모듈(616), 및 비교 모듈(618)을 포함한다.
일부 실시예들에서, 제 3 수신 모듈(612)은 단말기(예를 들면, 사용자)가 단말기 상의 브라우저를 통해 웹사이트에 로그인할 때, 브라우저에 의해 전송되었고 단말기에 대한 스크린 해상도 정보를 포함하는 메시지를 수신하도록 구성된다.
일부 실시예들에서, 제 3 결정 모듈(614)은 브라우저의 사용자 에이전트 정보를 획득하고, 사용자 에이전트 정보를 분석하여 단말기의 기기 타입을 결정하도록 구성된다.
일부 실시예들에서, 제 4 결정 모듈(616)은 단말기의 기기 타입에 따라 기기 타입에 대응하는 스크린 해상도를 결정하도록 구성된다.
일부 실시예들에서, 비교 모듈(618)은 기기 타입에 대응하는 스크린 해상도를 단말기(예를 들면, 단말기 상의 브라우저)로부터 수신된 단말기 스크린 해상도와 비교하고 기기 타입에 대응하는 스크린 해상도를 브라우저로부터 수신된 단말기 스크린 해상도가 동일한지를 결정하도록 구성된다.
생성 모듈(601)은 또한 기기 타입에 대응하는 스크린 해상도가 단말기(예를 들면, 단말기 상의 브라우저)로부터 수신된 단말기 스크린 해상도와 동일한 경우 제 1 토큰을 생성하도록 구성될 수 있다.
본 출원의 다양한 실시예들에 따라, 서버(600)는 또한 제 4 검증 모듈 및 제 5 결정 모듈을 포함한다.
일부 실시예들에서, 제 4 검증 모듈은 단말기(예를 들면, 사용자)가 웹사이트에 로그인할 때 입력되는 로그인 정보가 정확한지를 결정하도록 구성된다. 예를 들면, 제 4 검증 모듈은 로그인 정보를 인증하도록 구성된다.
일부 실시예들에서, 제 5 결정 모듈은 로그인 정보가 정확한지에 따라 제 1 토큰이 생성되어야 하는지를 결정하도록 구성된다. 예를 들면, 제 5 결정 모듈은 로그인 정보가 정확한 것으로 결정되는 경우 제 1 토큰이 생성되어야 한다고 결정하도록 구성된다.
본 출원의 다양한 실시예들에 따라, 제 1 검증 모듈은 질의 서브-모듈 및/또는 결정 서브-모듈을 더 포함한다.
일부 실시예들에서, 질의 서브-모듈은 서버가 검증 요청에서 운반되는 제 1 토큰과 동일한 제 1 토큰을 가지는지(예를 들면, 저장하고 있는지)에 관해 서버에 질의하도록 구성된다.
일부 실시예들에서, 결정 서브-모듈은 제 1 토큰이 유효한지를 결정하도록 구성된다. 예로서, 결정 서브-모듈은 질의 서브-모듈이 제 1 토큰을 가지는 것으로 결정되는 경우 제 1 토큰이 유효한지를 결정하도록 구성된다. 예로서, 결정 서브-모듈은 단말기로부터 수신된 제 1 토큰이 유효한지를 결정하기 위해 서버 상에 저장된 제 1 토큰을 사용하도록 구성된다.
본 실시예의 서버(600)에 의해 실현되는 기능들이 상기 도 1 내지 도 2에 도시된 방법 실시예들에 대응하기 때문에, 충분히 상세하게 설명되어 있지 않은 본 실시예의 부분들에 대해서는 상술된 실시예들의 적절한 설명을 참조할 수 있다. 이 문제는 더 이상 명세서에서 논의되지 않는다.
도 7은 본 개시내용의 다양한 실시예들에 따라 웹사이트에 액세스하는 단말기가 모바일 단말기인지를 결정하기 위한 시스템에서 단말기의 구조 블록도이다.
도 7을 참조하면, 웹사이트에 액세스하는 단말기가 모바일 단말기인지를 결정하기 위한 시스템에서의 단말기(700)가 제공된다. 일부 실시예들에서, 단말기(700)는 도 2 및 도 4의 방법들(200 및 400)을 구현한다.
일부 실시예들에서, 단말기(700)는 브라우저 모듈(702), 클라이언트 애플리케이션 모듈(704), 토큰 생성 모듈(706), 통신 모듈(708), 저장 모듈(710) 등을 포함한다.
일부 실시예들에서, 브라우저 모듈(702)은 웹사이트에 액세스한다. 예를 들면, 브라우저 모듈(702)은 웹사이트에 호스팅하는 서버와 단말기(700)를 조작하는 사용자 사이의 인터페이스로서 동작한다. 예로서, 브라우저 모듈(702)은 웹사이트에 동작 가능하게 액세스하거나 그에 로그인한다. 일부 실시예들에서, 브라우저 모듈(702)은 단말기(700)의 디스플레이 해상도를 결정한다. 본 개시내용의 다양한 실시예들에 따라, 브라우저 모듈(702)은 웹사이트에 액세스하기 위한 액세스 요청을 서버에 동작 가능하게 통신한다.
일부 실시예들에서, 클라이언트 애플리케이션 모듈(704)은 단말기(700)가 모바일 단말기인지를 검증하기 위해 서버와 동작 가능하게 통신한다. 예로서, 클라이언트 애플리케이션(704)은 활성화 링크가 또는 단말기(700)(예를 들면, 브라우저 모듈(702))에 의해 액세스되거나 프로세싱될 때 활성화된다. 일부 실시예들에서, 클라이언트 애플리케이션 모듈(704)은 활성화 링크로부터 또는 이를 사용함으로써 제 1 토큰을 획득한다. 일부 실시예들에서, 클라이언트 애플리케이션 모듈(704)은 검증 요청을 생성하여 서버에 동작 가능하게 통신한다. 본 개시내용의 다양한 실시예들에 따라, 클라이언트 애플리케이션 모듈(704)은 제 2 토큰을 생성한다. 일부 실시예들에서, 클라이언트 애플리케이션 모듈(704)은 제 2 토큰을 포함하는 액세스 요청을 서버에 동작 가능하게 통신한다.
일부 실시예들에서, 토큰 생성 모듈(706)은 제 2 토큰을 생성한다. 예로서, 토큰 생성 모듈(706)은 제 1 토큰(예를 들면, 클라이언트 애플리케이션 모듈(704)이 활성화 링크로부터 또는 이를 사용함으로써 획득한 제 1 토큰)을 암호화함으로써 제 2 토큰을 생성한다.
일부 실시예들에서, 통신 모듈(708)이 웹사이트(예를 들면, 웹사이트와 연관된 서버)와 통신한다. 예로서, 통신 모듈(708)은 웹사이트와 단말기(700)의 다른 모듈들 사이의 인터페이스로서 동작하도록 구성된다. 예를 들면, 단말기(700)의 다른 모듈들은 통신 모듈(708)을 통해 데이터를 다른 단말기(예를 들면, 서버)에 송수신할 수 있다.
일부 실시예들에서, 저장 모듈(710)은, 단말기(700)가 다른 단말기로부터(예를 들면, 서버로부터) 수신하거나 또는 단말기(700)가 생성하는 (예를 들면, 제 2 토큰) 데이터(예를 들면, 제 1 토큰, 쿠키 등)를 저장한다.
상술된 모듈들은 하나 이상의 범용 프로세서들 상에서 실행하는 소프트웨어 구성요소들로서, 특정 기능들을 수행하도록 설계된 프로그램 가능한 로직 디바이스들 및/또는 주문형 집적 회로들과 같은 하드웨어로서, 또는 이들의 조합으로 구현될 수 있다. 일부 실시예들에서, 모듈들은 컴퓨터 디바이스(개인용 컴퓨터들, 서버들, 네트워크 기기 등)가 본 발명의 실시예들에 기술된 방법들을 구현하게 하기 위한 다수의 명령들을 포함하여, 비휘발성 저장 매체(광 디스크, 플래시 저장 디바이스, 모바일 하드 디스크 등)에 저장될 수 있는 소프트웨어 제품들의 형태로 구현될 수 있다. 모듈들은 단일 디바이스 상에서 구현될 수 있거나 다수의 디바이스들에 걸쳐 분산될 수 있다. 모듈들의 기능들은 서로 병합될 수 있거나 또한 다수의 서브-모듈들로 분할될 수 있다.
도 8은 본 개시내용의 다양한 실시예들에 따라, 웹사이트에 액세스하기 위한 또는 웹사이트에 액세스하는 단말기가 모바일 단말기인지를 결정하기 위한 컴퓨터 시스템의 기능도이다.
도 8을 참조하면, 웹사이트에 액세스하기 위한 또는 웹사이트에 액세스하는 단말기가 모바일 단말기인지를 결정하기 위한 컴퓨터 시스템(800)이 제공된다. 알 수 있는 바와 같이, 다른 컴퓨터 시스템 아키텍처들 및 구성들은 화상 통화들을 구현하는데 사용될 수 있다. 후술되는 다양한 서브시스템들을 포함하는 컴퓨터 시스템(800)은 적어도 하나의 마이크로프로세서 서브시스템(또한 프로세서 또는 중앙 처리 장치(CPU))(802)를 포함한다. 예를 들면, 프로세서(802)는 단일-칩 프로세서에 의해 또는 다중 프로세서들에 의해 구현될 수 있다. 일부 실시예들에서, 프로세서(802)는 컴퓨터 시스템(800)의 동작을 제어하는 범용 디지털 프로세서이다. 메모리(810)로부터 검색되는 명령들을 사용하여, 프로세서(802)는 입력 데이터의 수신 및 조작과, 출력 디바이스들 상의 데이터의 출력 및 디스플레이(예를 들면, 디스플레이(818)를 제어한다.
프로세서(802)는 메모리(810)와 양방향으로 연결되며, 메모리(810)는 제 1 주 메모리, 통상적으로 랜덤 액세스 메모리(RAM)와, 제 2 주 메모리 영역, 통상적으로 판독-전용 메모리(ROM)를 포함할 수 있다. 본 기술분야에 잘 알려진 바와 같이, 주 저장장치는 일반 저장 영역으로서 및 스크래치-패드형 메모리로서 사용될 수 있고, 또한 입력 데이터 및 처리된 데이터를 저장하는데 사용될 수 있다. 주 저장장치는 또한, 프로세서(802) 상에서 동작하는 프로세스들에 대한 다른 데이터 및 명령들 외에도, 프로그래밍 명령들 및 데이터를 데이터 오브젝트들 및 텍스트 오브젝트들의 형태로 저장할 수 있다. 또한, 본 기술분야에 잘 알려진 바와 같이, 주 저장장치는 통상적으로, 프로세서(802)에 의해 사용되는 기본 동작 명령들, 프로그램 코드, 데이터, 및 오브젝트들을 포함하여 그 기능들(예를 들면, 프로그래밍된 명령들)을 수행한다. 예를 들면, 메모리(810)는, 예를 들면 데이터 액세스가 양방향이어야 하는지 또는 단방향이어야 하는지에 의존하여, 후술되는 임의의 적합한 컴퓨터-판독 가능한 저장 매체들을 포함할 수 있다. 예를 들면, 프로세서(802)는 캐시 메모리(도시되지 않음)에서 빈번하게 필요한 데이터를 직접적이고 매우 신속하게 검색하고 저장할 수 있다.
이동식 대용량 저장 디바이스(812)는 컴퓨터 시스템(800)에 추가의 데이터 저장 용량을 제공하고, 프로세서(802)에 양방향으로 (판독/기록) 또는 단방향으로 (판독만) 연결된다. 예를 들면, 저장장치(812)는 또한 자기 테이프, 플래시 메모리, PC-CARDS, 휴대용 대용량 저장 디바이스들, 홀로그래픽 저장 디바이스들, 및 다른 저장 디바이스들과 같은 컴퓨터-판독 가능한 매체들을 포함할 수 있다. 고정식 대용량 저장장치(820)는 또한, 예를 들면, 추가의 데이터 저장 용량을 제공할 수 있다. 대용량 저장장치(820)의 가장 일반적인 예는 하드 디스크 드라이브이다. 대용량 저장 디바이스(812) 및 고정식 대용량 저장장치(820)는 일반적으로 추가의 프로그래밍 명령들, 데이터 등을 저장하며, 이들은 통상적으로 프로세서(802)에 의해 능동적으로 사용되지 않는다. 대용량 저장 디바이스(812) 및 고정식 대용량 저장장치(820) 내에 유지되는 정보가, 필요한 경우, 가상 메모리와 같은 메모리(810)(예를 들면, RAM)의 일부로서 표준 방식으로 통합될 수 있음을 알 것이다.
저장 서브시스템들에 대한 프로세서(802) 액세스를 제공하는 것 외에도, 버스(814)는 또한 다른 서브시스템들 및 디바이스들에 대한 액세스를 제공하는데에도 사용될 수 있다. 도시된 바와 같이, 이들은 디스플레이 모니터(818), 네트워크 인터페이스(816), 키보드(804), 및 포인팅 디바이스(806), 뿐만 아니라 보조 입력/출력 디바이스 인터페이스, 사운드 카드, 스피커들, 및 다른 서브시스템들을 필요에 따라 포함할 수 있다. 예를 들면, 포인팅 디바이스(806)는 마우스, 스타일러스, 트랙 볼, 또는 태블릿일 수 있고, 그래픽 사용자 인터페이스와의 상호작용에 유용하다.
네트워크 인터페이스(816)는 프로세서(802)가 도시된 네트워크 접속을 사용하여 다른 컴퓨터, 컴퓨터 네트워크, 또는 원격통신 네트워크에 연결되도록 허용한다. 예를 들면, 네트워크 인터페이스(816)를 통해, 프로세서(802)는 방법/프로세스 단계들을 수행하는 과정에서 다른 네트워크로부터 정보(예를 들면, 데이터 오브젝트들 또는 프로그램 명령들)를 수신하거나 다른 네트워크에 정보를 출력할 수 있다. 흔히 프로세서상에서 실행될 명령들의 시퀀스로서 표현되는 정보는 다른 네트워크로부터 수신될 수 있고 다른 네트워크에 출력될 수 있다. 인터페이스 카드 또는 유사한 디바이스 및 프로세서(802)에 의해 구현되는(예를 들면, 실행되는/수행되는) 적절한 소프트웨어는 컴퓨터 시스템(800)을 외부 네트워크에 접속하고 표준 프로토콜들에 따라 데이터를 이전하는데 사용될 수 있다. 예를 들면, 본 명세서에 개시된 다양한 프로세스 실시예들은 프로세서(802) 상에서 실행될 수 있거나, 또는 프로세싱의 일부를 공유하는 원격 프로세서와 함께, 인터넷, 인트라넷 네트워크들, 또는 근거리 네트워크들과 같은 네트워크를 통해 수행될 수 있다. 부가의 대용량 저장 디바이스(도시되지 않음)가 또한 네트워크 인터페이스(816)를 통해 프로세서(802)에 접속될 수 있다.
보조 I/O 디바이스 인터페이스(도시되지 않음)가 컴퓨터 시스템(800)과 함께 사용될 수 있다. 보조 I/O 디바이스 인터페이스는 프로세서(802)가 전송하고, 더욱 구체적으로는, 마이크로폰들, 터치-감응형 디스플레이들, 트랜스듀서 카드 판독기들, 테이프 판독기들, 음성 또는 필기 인식기들, 바이오메트릭스 판독기들, 카메라들, 휴대용 대용량 저장 디바이스들, 및 다른 컴퓨터들과 같은 다른 디바이스들로부터 데이터를 수신할 수 있도록 일반형 및 맞춤형 인터페이스들을 포함할 수 있다.
도 8에 도시된 컴퓨터 시스템은 본 명세서에 개시된 다양한 실시예들과의 사용에 적합한 컴퓨터 시스템의 일례일 뿐이다. 이러한 사용에 적합한 다른 컴퓨터 시스템들은 추가의 또는 소수의 서브시스템들을 포함할 수 있다. 또한, 버스(814)는 서브시스템들에 링크하는 역할을 하는 임의의 상호접속 방식들을 예시한다. 서브시스템들의 구성들이 상이한 다른 컴퓨터 아키텍처들이 또한 활용될 수 있다.
본 명세서에 개시된 실시예들에 비추어 기술된 방법들 또는 단계들은 하드웨어, 프로세서-실행 소프트웨어 모듈들, 또는 둘의 조합들을 사용하여 구현될 수 있다. 소프트웨어 모듈들은 랜덤 액세스 메모리(RAM), 메모리, 판독-전용 메모리(ROM), 전기적으로 프로그램 가능한 ROM, 전기적으로 소거 가능한 프로그램 가능한 ROM, 레지스터들, 하드 드라이브들, 이동식 디스크들, CD-ROM, 또는 본 기술분야에 알려진 임의의 다른 형태들의 저장 매체들에 설치될 수 있다.
전술한 실시예들이 명확한 이해를 목적으로 다소 상세하게 설명되었지만, 본 발명은 제공된 상세들에 한정되지 않는다. 본 발명을 구현하는 많은 대안적인 방법들이 있다. 개시된 실시예들은 예시적일 뿐 제한적인 것이 아니다.

Claims (21)

  1. 방법에 있어서:
    단말기로부터 웹사이트에 액세스하기 위한 로그인 요청을 수신하는 단계;
    상기 단말기로부터 상기 로그인 요청을 수신하는 것에 응답하여, 제 1 토큰을 생성하는 단계;
    상기 단말기에 리다이렉트 스크립트(redirect script)를 포함하는 정보를 전송하는 단계로서, 상기 리다이렉트 스크립트는 상기 단말기로 하여금 상기 리다이렉트 스크립트를 실행하고 활성화 링크에 액세스하게 하도록 구성되는, 상기 전송 단계;
    상기 단말기로부터 검증 요청(verification request)을 수신하는 단계로서, 상기 검증 요청은 상기 활성화 링크를 사용하여 상기 단말기에 의해 획득된 상기 제 1 토큰의 버전을 포함하는, 상기 검증 요청 수신 단계;
    상기 검증 요청에 포함된 상기 제 1 토큰의 상기 버전이 상기 생성된 제 1 토큰에 대해 유효한지를 결정하는 단계;
    상기 검증 요청에 포함된 상기 제 1 토큰의 상기 버전이 유효하다고 결정하는 것에 응답하여, 상기 제 1 토큰이 상기 단말기에 유효하다는 표시를 전송하는 단계;
    상기 웹 사이트에 액세스하기 위한 액세스 요청을 수신하는 단계로서, 상기 액세스 요청은 제 2 토큰을 포함하는, 상기 액세스 요청 수신 단계;
    상기 제 2 토큰이 유효한지를 결정하는 단계; 및
    상기 제 2 토큰이 유효한지에 따라 상기 단말기가 모바일 단말기인지를 결정하는 단계를 포함하는, 방법.
  2. 제 1 항에 있어서,
    상기 제 2 토큰은 상기 제 1 토큰을 암호화하는 상기 단말기 상의 클라이언트 애플리케이션에 의해 생성되는, 방법.
  3. 제 1 항에 있어서,
    상기 제 2 토큰이 유효한지를 결정하는 단계는:
    상기 제 1 토큰을 획득하기 위해 상기 제 2 토큰을 복호하고 상기 제 2 토큰을 복호함으로써 획득되는 상기 제 1 토큰이 유효한지를 검증하는 단계; 및
    상기 제 2 토큰을 복호함으로써 획득되는 상기 제 1 토큰이 유효한 경우 상기 제 2 토큰이 유효하다고 결정하는 단계를 포함하는, 방법.
  4. 제 1 항에 있어서,
    상기 제 2 토큰이 유효한 것으로 결정되는 경우에, 상기 제 2 토큰을 쿠키(cookie)에 기록하고 상기 쿠키를 상기 단말기에 전송하는 단계를 더 포함하는, 방법.
  5. 제 4 항에 있어서,
    상기 단말기 상의 브라우저를 통해 상기 웹사이트에 로그인하기 위한 요청을 상기 단말기로부터 수신하는 것에 응답하여, 상기 브라우저의 쿠키가 상기 제 2 토큰을 포함하는지를 결정하는 단계; 및
    상기 브라우저의 상기 쿠키가 상기 제 2 토큰을 포함한다고 결정하는 것에 응답하여, 상기 브라우저의 상기 쿠키에 포함된 상기 제 2 토큰이 유효한지를 결정하는 단계를 더 포함하는, 방법.
  6. 제 5 항에 있어서,
    상기 브라우저의 상기 쿠키에 포함된 상기 제 2 토큰이 유효하다고 결정하는 것에 응답하여, 상기 단말기가 모바일 단말기라고 결정하는 단계를 더 포함하는, 방법.
  7. 제 1 항에 있어서,
    상기 단말기 상의 브라우저로부터 메시지를 수신하는 단계로서, 상기 단말기는 상기 단말기 상의 상기 브라우저를 통해 상기 웹사이트에 로그인하고, 상기 브라우저로부터의 상기 메시지는 상기 단말기에 대한 스크린 해상도의 스크린 해상도 정보를 포함하는, 상기 메시지 수신 단계;
    상기 브라우저의 사용자 에이전트 정보(user agent information)를 수신하는 단계;
    상기 브라우저의 상기 사용자 에이전트 정보에 따라 상기 단말기의 기기 타입을 결정하는 단계;
    상기 단말기의 상기 기기 타입에 대응하는 스크린 해상도를 결정하는 단계;
    상기 단말기의 상기 기기 타입에 대응하는 상기 스크린 해상도가 상기 브라우저로부터 수신된 상기 단말기의 상기 스크린 해상도와 동일한지를 결정하는 단계; 및
    상기 단말기의 상기 기기 타입에 대응하는 상기 스크린 해상도가 상기 브라우저로부터 수신된 상기 스크린 해상도와 동일하다고 결정하는 것에 응답하여, 제 1 토큰을 생성하는 단계를 더 포함하는, 방법.
  8. 제 1 항에 있어서,
    상기 웹사이트에 액세스하기 위한 상기 로그인 요청과 관련하여 서버에 의해 수신되는 로그인 정보가 정확한지를 결정하는 단계; 및
    상기 로그인 정보가 정확한 것으로 결정되는 경우에, 상기 제 1 토큰이 생성되어야 하는 것으로 결정하는 단계를 더 포함하는, 방법.
  9. 제 1 항에 있어서,
    상기 검증 요청에 포함된 상기 제 1 토큰의 상기 버전이 유효한지를 결정하는 단계는:
    서버가 상기 검증 요청에 포함된 상기 제 1 토큰의 상기 버전과 동일한 제 1 토큰을 가지는지를 결정하는 단계; 및
    상기 서버가 상기 검증 요청에 포함된 상기 제 1 토큰의 상기 버전과 동일한 제 1 토큰을 가지는 것으로 결정되는 경우 상기 제 1 토큰이 유효하다고 결정하는 단계를 더 포함하는, 방법.
  10. 제 1 항에 있어서,
    상기 단말기가 모바일 단말기라고 결정하는 것에 응답하여, 상기 단말기가 상기 웹사이트에 액세스하도록 허용하는 단계를 더 포함하는, 방법.
  11. 서버에 있어서:
    단말기가 웹사이트에 로그인하는 것과 관련하여 제 1 토큰을 생성하고 상기 제 1 토큰을 저장하도록 구성되는 생성 모듈;
    상기 단말기에 리다이렉트 스크립트를 포함하는 정보를 전송하도록 구성되는 제 1 반환 모듈로서, 상기 리다이렉트 스크립트는 상기 단말기로 하여금 상기 리다이렉트 스크립트를 실행하고 활성화 링크에 액세스하게 하도록 구성되는, 상기 제 1 반환 모듈;
    상기 단말기로부터 검증 요청을 수신하도록 구성되는 제 1 수신 모듈로서, 상기 검증 요청은 상기 활성화 링크를 사용하여 상기 단말기에 의해 획득된 상기 제 1 토큰의 버전을 포함하는, 상기 제 1 수신 모듈;
    상기 검증 요청에 포함된 상기 제 1 토큰의 상기 버전이 상기 생성된 제 1 토큰에 대해 유효한지를 결정하도록 구성되는 제 1 검증 모듈;
    상기 검증 요청에 포함된 상기 제 1 토큰의 상기 버전이 유효하다고 결정하는 상기 제 1 검증 모듈에 응답하여 상기 제 1 토큰이 유효하다는 표시를 상기 단말기에 전송하도록 구성되는 제 2 반환 모듈;
    상기 웹사이트에 액세스하기 위한 액세스 요청을 수신하도록 구성되는 제 2 수신 모듈로서, 상기 액세스는 제 2 토큰을 포함하는, 상기 제 2 수신 모듈;
    상기 제 2 토큰이 유효한지를 결정하도록 구성되는 제 2 검증 모듈; 및
    상기 제 2 토큰이 유효한지에 따라 상기 단말기가 모바일 단말기인지를 결정하도록 구성되는 제 1 결정 모듈을 포함하는, 서버.
  12. 제 11 항에 있어서,
    상기 제 2 토큰은 상기 제 1 토큰을 암호화하는 상기 단말기 상의 클라이언트 애플리케이션에 의해 생성되는, 서버.
  13. 제 11 항에 있어서,
    상기 제 2 검증 모듈은 또한, 상기 제 1 토큰을 획득하기 위해 상기 제 2 토큰을 복호하고, 상기 제 2 토큰을 복호함으로써 획득되는 상기 제 1 토큰이 유효한지를 검증하고, 상기 제 2 토큰을 복호함으로써 획득되는 상기 제 1 토큰이 유효한 경우 상기 제 2 토큰이 유효하다고 결정하도록 구성될 수 있는, 서버.
  14. 제 11 항에 있어서,
    상기 제 2 토큰을 쿠키에 기록하도록 구성되는 기록 모듈(writing module); 및
    상기 쿠키를 상기 단말기에 전송하도록 구성되는 통신 모듈을 더 포함하는, 서버.
  15. 제 14 항에 있어서,
    상기 단말기 상의 브라우저를 통해 상기 웹사이트에 로그인하기 위한 요청을 상기 단말기로부터 수신하는 것에 응답하여, 상기 브라우저의 쿠키가 상기 제 2 토큰을 포함하는지를 결정하도록 구성되는 검사 모듈; 및
    상기 브라우저의 상기 쿠키가 상기 제 2 토큰을 포함한다고 결정하는 상기 검사 모듈에 응답하여, 상기 브라우저의 상기 쿠키에 포함된 상기 제 2 토큰이 유효한지를 결정하도록 구성되는 제 3 검증 모듈을 더 포함하는, 서버.
  16. 제 15 항에 있어서,
    상기 브라우저의 상기 쿠키에 포함된 상기 제 2 토큰이 유효하다고 결정하는 상기 제 3 검증 모듈에 응답하여, 상기 단말기가 모바일 단말기라고 결정하도록 구성되는 제 2 결정 모듈을 더 포함하는, 서버.
  17. 제 11 항에 있어서,
    상기 단말기 상의 브라우저로부터 메시지를 수신하도록 구성되는 제 3 수신 모듈로서, 상기 단말기는 상기 단말기 상의 상기 브라우저를 통해 상기 웹사이트에 로그인하고, 상기 브라우저로부터의 상기 메시지는 상기 단말기에 대한 스크린 해상도의 스크린 해상도 정보를 포함하는, 상기 제 3 수신 모듈;
    상기 브라우저의 사용자 에이전트 정보를 수신하고, 상기 브라우저의 상기 사용자 에이전트 정보에 따라 상기 단말기의 기기 타입을 결정하도록 구성되는 제 3 결정 모듈;
    상기 단말기의 상기 기기 타입에 대응하는 스크린 해상도를 결정하도록 구성되는 제 4 결정 모듈; 및
    상기 단말기의 상기 기기 타입에 대응하는 상기 스크린 해상도가 상기 브라우저로부터 수신된 상기 단말기의 상기 스크린 해상도와 동일한지를 결정하도록 구성되는 비교 모듈을 더 포함하고,
    상기 생성 모듈은 상기 단말기의 상기 기기 타입에 대응하는 상기 스크린 해상도가 상기 브라우저로부터 수신된 상기 스크린 해상도와 동일하다고 결정하는 상기 비교 모듈에 응답하여, 제 1 토큰을 생성하는, 서버.
  18. 제 11 항에 있어서,
    상기 웹사이트에 액세스하기 위한 로그인 요청과 관련하여 상기 서버에 의해 수신되는 로그인 정보가 정확한지를 결정하도록 구성되는 제 4 검증 모듈을 더 포함하고,
    상기 생성 모듈은 상기 웹사이트에 액세스하기 위한 상기 로그인 요청과 관련하여 상기 서버에 의해 수신되는 로그인 정보가 정확하다고 결정하는 상기 제 4 검증 모듈에 응답하여, 상기 제 1 토큰을 생성하는, 서버.
  19. 제 11 항에 있어서,
    상기 제 1 검증 모듈은 질의 서브-모듈(querying sub-module) 및 결정 서브-모듈을 포함하고,
    상기 질의 서브-모듈은 상기 서버가 상기 검증 요청에 포함된 상기 제 1 토큰의 상기 버전과 동일한 제 1 토큰을 가지는지를 결정하도록 구성되고,
    상기 결정 서브-모듈은 상기 서버가 상기 검증 요청에 포함된 상기 제 1 토큰의 상기 버전과 동일한 제 1 토큰을 가지는 것으로 결정되는 경우 상기 제 1 토큰이 유효한지를 결정하도록 구성되는, 서버.
  20. 제 11 항에 있어서,
    상기 제 1 결정 모듈은 또한 상기 단말기가 모바일 단말기라고 결정하는 것에 응답하여 상기 단말기가 상기 웹사이트에 액세스하게 허용하도록 구성되는, 서버.
  21. 유형의 비-일시적 컴퓨터-판독 가능한 저장 매체에서 구현되고 컴퓨터 명령들을 포함하는 컴퓨터 프로그램 제품으로서, 상기 컴퓨터 명령들은:
    단말기로부터 웹사이트에 액세스하기 위한 로그인 요청을 수신하고;
    상기 단말기로부터 상기 로그인 요청을 수신하는 것에 응답하여, 제 1 토큰을 생성하고;
    리다이렉트 스크립트로서, 상기 단말기로 하여금 상기 리다이렉트 스크립트를 실행하고 활성화 링크에 액세스하게 하도록 구성되는 상기 리다이렉트 스크립트를 포함하는 정보를 상기 단말기에 전송하고;
    상기 활성화 링크를 사용하여 상기 단말기에 의해 획득된 상기 제 1 토큰의 버전을 포함하는 검증 요청을 상기 단말기로부터 수신하고;
    상기 검증 요청에 포함된 상기 제 1 토큰의 상기 버전이 상기 생성된 제 1 토큰에 대해 유효한지를 결정하고;
    상기 검증 요청에 포함된 상기 제 1 토큰의 상기 버전이 유효하다고 결정하는 것에 응답하여, 상기 제 1 토큰이 상기 단말기에 유효하다는 표시를 전송하고;
    상기 웹 사이트에 액세스하기 위하여 제 2 토큰을 포함하는 액세스 요청을 수신하고;
    상기 제 2 토큰이 유효한지를 결정하고;
    상기 제 2 토큰이 유효한지에 따라 상기 단말기가 모바일 단말기인지를 결정하기 위한 것인, 컴퓨터 프로그램 제품.
KR1020167015076A 2014-01-07 2015-01-06 웹사이트에 로그인하는 단말기가 모바일 단말기인지를 결정하기 위한 방법 및 시스템 KR101850677B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
CN201410007143.5A CN104767719B (zh) 2014-01-07 2014-01-07 确定登录网站的终端是否是移动终端的方法及服务器
CN201410007143.5 2014-01-07
US14/589,869 US10135824B2 (en) 2014-01-07 2015-01-05 Method and system for determining whether a terminal logging into a website is a mobile terminal
US14/589,869 2015-01-05
PCT/US2015/010275 WO2015105778A1 (en) 2014-01-07 2015-01-06 Method and system for determining whether a terminal logging into a website is a mobile terminal

Publications (2)

Publication Number Publication Date
KR20160083930A true KR20160083930A (ko) 2016-07-12
KR101850677B1 KR101850677B1 (ko) 2018-04-20

Family

ID=53496089

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020167015076A KR101850677B1 (ko) 2014-01-07 2015-01-06 웹사이트에 로그인하는 단말기가 모바일 단말기인지를 결정하기 위한 방법 및 시스템

Country Status (8)

Country Link
US (1) US10135824B2 (ko)
EP (1) EP3092775B8 (ko)
JP (1) JP6282349B2 (ko)
KR (1) KR101850677B1 (ko)
CN (1) CN104767719B (ko)
HK (1) HK1207763A1 (ko)
TW (1) TWI687113B (ko)
WO (1) WO2015105778A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023286985A1 (ko) * 2021-07-16 2023-01-19 (주)모니터랩 보안 장치에서 쿠키를 활용한 사용자 인증 방법

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106789845A (zh) * 2015-11-23 2017-05-31 天津九洲云物联科技有限公司 一种网络数据安全传输的方法
US10652365B2 (en) * 2016-01-06 2020-05-12 Adobe Inc. Robust computing device identification framework
CN107294920B (zh) * 2016-03-31 2020-06-26 阿里巴巴集团控股有限公司 一种反向信任登录方法和装置
US10305901B2 (en) * 2016-05-06 2019-05-28 Blackberry Limited System and method for multi-factor authentication
CN106230838A (zh) * 2016-08-04 2016-12-14 中国银联股份有限公司 一种第三方应用访问资源的方法和装置
US10484851B2 (en) * 2016-12-22 2019-11-19 Venuenext, Inc. Communicating information between applications executing on a client device via authentication information generated by an application
CN108737338B (zh) * 2017-04-19 2021-06-04 阿里巴巴集团控股有限公司 一种认证方法及系统
CN107404488B (zh) * 2017-08-07 2020-11-27 台州市吉吉知识产权运营有限公司 一种同一应用多终端设备互斥方法及装置
US10673831B2 (en) * 2017-08-11 2020-06-02 Mastercard International Incorporated Systems and methods for automating security controls between computer networks
US10505733B2 (en) * 2017-09-25 2019-12-10 Citrix Systems, Inc. Generating and managing a composite identity token for multi-service use
US11349869B1 (en) 2017-12-22 2022-05-31 Spins Ventures Llc Network device detection and verification protocol
CN109101532A (zh) * 2018-06-25 2018-12-28 广州爱九游信息技术有限公司 检测作弊方法、装置及设备
CN109684799B (zh) * 2018-08-21 2023-12-26 Tcl金融科技(深圳)有限公司 账户登录方法、登录装置、账户登录设备及存储介质
JP7096736B2 (ja) * 2018-08-28 2022-07-06 キヤノン株式会社 システム、及びデータ処理方法
TWI697802B (zh) * 2018-11-12 2020-07-01 臺灣網路認證股份有限公司 依客戶環境選擇資料傳遞方式以進行憑證作業之系統及方法
CN110430213B (zh) * 2019-08-15 2022-02-01 北京奇艺世纪科技有限公司 业务请求处理方法、装置及系统
US11790349B2 (en) * 2019-10-18 2023-10-17 Landis+Gyr Technology, Inc. Secure tokens for controlling access to a resource in a resource distribution network
US11481851B2 (en) 2019-10-18 2022-10-25 Landis+Gyr Innovations, Inc. Secure tokens for controlling access to a resource in a resource distribution network
CN110933065A (zh) * 2019-11-26 2020-03-27 深圳市信联征信有限公司 网页防爬虫方法、装置、计算机设备及存储介质
CN111181977B (zh) * 2019-12-31 2021-06-04 瑞庭网络技术(上海)有限公司 一种登录方法、装置、电子设备及介质
CN111478942A (zh) * 2020-03-06 2020-07-31 视联动力信息技术股份有限公司 请求处理方法、装置、电子设备及存储介质
CN113239308B (zh) * 2021-05-26 2023-07-18 杭州安恒信息技术股份有限公司 一种页面访问方法、装置、设备及存储介质
US20220385657A1 (en) * 2021-05-31 2022-12-01 Sequoia Benefits and Insurance Services, LLC User impersonation system
KR102462646B1 (ko) 2021-09-09 2022-11-03 최방현 Usb를 이용한 개인인증 및 웹사이트 로그인 시스템

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7137006B1 (en) * 1999-09-24 2006-11-14 Citicorp Development Center, Inc. Method and system for single sign-on user access to multiple web servers
JPH11184818A (ja) 1997-12-25 1999-07-09 Ntt Data Corp 認証システム及び方法、並びに同システムのためのクライアントマシン
AU2001245481A1 (en) 2000-03-07 2001-09-17 Hotlens.Com Inc. Server-side web browsing and multiple lens system, method and apparatus
US7210099B2 (en) 2000-06-12 2007-04-24 Softview Llc Resolution independent vector display of internet content
US7360096B2 (en) * 2002-11-20 2008-04-15 Microsoft Corporation Securely processing client credentials used for Web-based access to resources
US7340525B1 (en) * 2003-01-24 2008-03-04 Oracle International Corporation Method and apparatus for single sign-on in a wireless environment
US20050216846A1 (en) 2004-03-26 2005-09-29 Mika Kalenius Normal versus small screen rendering with given URL
CN101996206B (zh) 2009-08-11 2013-07-03 阿里巴巴集团控股有限公司 一种呈现网页页面的方法、装置及系统
US8312285B2 (en) * 2009-12-07 2012-11-13 International Business Machines Corporation Global profile management method and system
CN102238007A (zh) * 2010-04-20 2011-11-09 阿里巴巴集团控股有限公司 第三方应用获得用户的会话令牌的方法、装置及系统
CN101977233A (zh) * 2010-11-01 2011-02-16 优视科技有限公司 一种移动终端以阅读模式浏览网页方法和系统
WO2012083540A1 (en) 2010-12-23 2012-06-28 Nokia Corporation Method and apparatus for providing token-based classification of device information
CN103024740B (zh) * 2011-09-28 2015-07-15 腾讯科技(深圳)有限公司 移动终端访问互联网的方法及系统
US9495533B2 (en) 2011-09-29 2016-11-15 Oracle International Corporation Mobile application, identity relationship management
US9021383B2 (en) 2011-12-13 2015-04-28 Lenovo (Singapore) Pte. Ltd. Browsing between mobile and non-mobile web sites
KR101323816B1 (ko) 2012-06-22 2013-10-31 서울대학교병원 (분사무소) 휴대용 단말기의 인증 서비스 제공 방법 및 이를 제공하는 시스템
US8613069B1 (en) * 2013-05-17 2013-12-17 Phantom Technologies, Inc. Providing single sign-on for wireless devices
US20150067472A1 (en) * 2013-08-28 2015-03-05 F5 Networks, Inc. Web browser fingerprinting

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023286985A1 (ko) * 2021-07-16 2023-01-19 (주)모니터랩 보안 장치에서 쿠키를 활용한 사용자 인증 방법

Also Published As

Publication number Publication date
TWI687113B (zh) 2020-03-01
US10135824B2 (en) 2018-11-20
JP6282349B2 (ja) 2018-02-21
CN104767719B (zh) 2018-09-18
KR101850677B1 (ko) 2018-04-20
EP3092775A1 (en) 2016-11-16
EP3092775B1 (en) 2020-09-30
EP3092775B8 (en) 2021-03-10
HK1207763A1 (en) 2016-02-05
JP2017503254A (ja) 2017-01-26
WO2015105778A1 (en) 2015-07-16
CN104767719A (zh) 2015-07-08
US20150195268A1 (en) 2015-07-09
TW201528844A (zh) 2015-07-16

Similar Documents

Publication Publication Date Title
KR101850677B1 (ko) 웹사이트에 로그인하는 단말기가 모바일 단말기인지를 결정하기 위한 방법 및 시스템
US10091127B2 (en) Enrolling a mobile device with an enterprise mobile device management environment
US11736469B2 (en) Single sign-on enabled OAuth token
US10880292B2 (en) Seamless transition between WEB and API resource access
US10419425B2 (en) Method, device, and system for access control of a cloud hosting service
US20200336310A1 (en) Coordinating access authorization across multiple systems at different mutual trust levels
EP3345087B1 (en) Method, device, and system for access control of a cloud hosting service
US9300660B1 (en) Providing authorization and authentication in a cloud for a user of a storage array
US9444822B1 (en) Storage array access control from cloud-based user authorization and authentication
WO2017107956A1 (zh) 一种数据处理方法、客户端和服务器
WO2015143855A1 (zh) 一种对数据资源进行访问的方法、装置和系统
US10127317B2 (en) Private cloud API
US11283793B2 (en) Securing user sessions
JP6875482B2 (ja) レガシー統合のためのコンピュータ読み取り可能な記憶媒体ならびにそれを使用するための方法およびシステム
CN105354451B (zh) 访问鉴权的方法及系统
US10397191B2 (en) Passing content securely from web browsers to computer applications
US20170279798A1 (en) Multi-factor authentication system and method
US20190306155A1 (en) Generating cryptographic keys using supplemental authentication data
US11606192B2 (en) Server side authentication
US10313349B2 (en) Service request modification
CN114090996A (zh) 多方系统互信认证方法及装置

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant