2014-04-19 2 views
0

사용자가 첫 번째 스캔 페이지로 등록한 다음 QR 스 캐빈 저는 스캔을 실행하고 다른 QR 코드를 찾습니다. 등록시 클라우드 데이터베이스 (Azure)에 키로 저장됩니다 (Azure). 사용중인 기기를 기준으로 돌아 오는 사람을 자동으로 인식합니다 (추가 QR 코드 스캔).고유 장치 연결 구분

어떻게 장치를 고유하게 식별 할 수 있습니까?

//Get Client Machine name to restrict login 
string[] computer_name = System.Net.Dns.GetHostEntry(Request.ServerVariables["remote_addr"]).HostName.Split(new Char[] { '.' }); 
string ecn = System.Environment.MachineName; 
string strClientName = computer_name[0].ToString(); 

그때 고유 strClientName을 (비교 : 다음과 같이 나는, IP 주소 및/또는 이름을 얻기에 따라 장치를 식별 익숙 해요,하지만 하나의 도메인에서 해당 작업을 수행하는 방법 만 알고있다 도메인에서)

클라이언트가 네트워크, 도메인 등에서 연결할 수 있다고 생각하면 어떻게하면 좋을까요? MAC 주소와 같은 것을 사용하여 nsidered하지만 좋은 방법이 없다고 생각합니다. 항상 고유한지 확실하지 않습니다. 엄밀히 말하면, 이것이 100 % 정확한지 (그룹이 100 명 이상이 될 것 같지 않음) 걱정하지 않지만 결국 규모가 커질 것이라고 생각합니다.

Page_Load에서 실행하는 C# 솔루션을 선호하지만 javascript 또는 jQuery 솔루션을 구현할 수도 있습니다. 나는 다수의 사용자가 iPhone 및 Droids에서 임의의 다양한 QR 앱을 사용하고 있으며, 몇 가지이기는 전화기와 함께 사용하기를 기대합니다. QR 코드는 .NET 프로젝트를 실행하는 웹 주소를 가리 킵니다.

+0

장치가 브라우저를 사용하여 서버에 연결된다고 가정하면 첫 번째 연결에 고유 한 쿠키를 만들고 그 쿠키를 사용하여 이후에 어떤 장치인지 식별하는 것이 좋습니다. 예를 들어 로그인하지 않은 상태에서 사이트에서 장바구니를 만들 수있는 방법이 있습니다. 쿠키가 없으면 클라이언트 또는 서버에서 쿠키를 만들 수 있습니다. – jfriend00

+0

@ jfriend00 QR 스캔 응용 프로그램 내에서 작동하는지조차 알고 있습니까? 나는 나중에 오늘 시험해야하고, 당신에게 알릴 것이다. – Jem

+0

아니요, 특정 응용 프로그램이나 사용 방법을 말하지 않았습니다. 내 의견은 브라우저 기술을 사용하고 있다고 가정합니다. 브라우저가 아닌 특정 응용 프로그램에만 국한되어있는 경우 해당 응용 프로그램을 공개해야하며 응용 프로그램의 작동 방식 및 기능에 대한 연구를 수행해야합니다. 우리가 여기서 어떻게 도울 수있는 다른 방법을 알 수 있습니까? – jfriend00

답변

2

이 답변은 다음 프로세스를 전제로합니다. 사용자가 QR 코드 스캔 앱을 실행합니다 (휴대 전화 또는 태블릿에서는 가능하지만 기기의 종류는 중요하지 않음). 그들은 QR 코드를 스캔하고 QR 앱은 그 URL을 로컬 장치의 브라우저에로드합니다. 모든 QR 코드는 동일한 도메인으로 이동합니다 (URL은 다르지만 모두 동일한 도메인에 있음).

이 세상에서 쿠키를 사용하여 각 장치를 고유하게 식별 할 수 있습니다. 연결된 특정 쿠키가없는 모든 장치에서 처음으로 히트를 볼 때 서버는 고유 한 쿠키를 코인하고 웹 요청으로이를 반환 할 수 있습니다. 쿠키에 '/'의 경로를 지정하면 향후 해당 기기의 모든 QR 조회가 동일한 쿠키를 반환하므로 사용자의 기기 식별자가 될 수 있습니다. 이 유형의 식별자는 브라우저를 식별하고 장치가 다른 위치 또는 네트워크로 이동할 때 네트워크 변경 사항과 독립적입니다.

고유 한 쿠키 값을 생성하는 간단한 방법은 임의의 숫자와 결합 된 타임 스탬프로 문자열을 만드는 것입니다.

기기는 기기의 쿠키를 지워서 언제든지 다시 초기화 할 수 있으며, 특정 쿠키를 지울 수있는 버튼을 제공하는 웹 페이지를 만들 수 있습니다.

+0

감사합니다. 위대한 작품입니다! 누군가 다른 사람이 이것을 가로 질렀을 경우, 나는 HttpCookie 쿠키 = Request.Cookies를 사용하여 쿠키를 검사했다.얻기 ("CookieName"); 그런 다음 null이면 cookie = new HttpCookie ("CookieName");를 사용하여 쿠키를 만듭니다. 쿠키에 값과 만료일을 부여한 다음 응답과 함께 반환합니다. 그렇지 않으면 나는 쿠키로부터 가치를 얻는다. – Jem

+1

@Jem - 다행입니다. 사이트의 어느 곳에서나 쿠키에 액세스 할 수 있도록 쿠키 경로를''/ ''로 설정하십시오. – jfriend00

+0

(쿠키 설정으로 드릴 다운 할 때) 기본 경로 인 것 같습니다. 이제 DB 연결 문자열 셋업을 받아야합니다. Azure에 연결하는 데 몇 가지 문제가 있습니다 (처음). 나는 결국 그것을 얻을 것이다 :) – Jem