2009-06-25 4 views
2

내 웹 사이트에 트랜잭션 로그를 기록하는 EventLog를 만들고 있습니다. 로그의 세부 사항에는 트랜잭션이 발생 된 공용 IP와 로컬 IP 주소 (공용 IP 아래)가 포함됩니다.서버에서 고유 한 클라이언트 식별자를 얻는 방법은 무엇입니까?

공용 IP 주소를 얻는 방법을 찾았지만 로컬 IP 또는 컴퓨터 IP를 찾을 수 없습니다.

많은 수의 항목이 동일한 연결을 사용하는 사람들에 의해 수행됩니다. 즉 5 또는 10 대의 컴퓨터가 동일한 연결에 연결되어 있어야합니다.

내가 ... 기계 거래 또한 컴퓨터 이름을 만드는 (다음 1 시스템 192.168.0.2에 대한 192.168.0.1)

을 기계의 IP를 찾을 필요하면이 가능

답변

4

인가 명확하게하기 위해 클라이언트가 라우터를 통해 연결할 때 클라이언트의 개인 IP 주소를 원하십니까? 그렇다면이 방법이 없습니다.

다른 사용자를 구별하기 위해이 작업을 수행하고 있습니까?

쿠키와 같은 다른 방법을 사용할 수 있습니까?

1

클라이언트가 NAT 또는 방화벽 뒤에서 연결하면 자신의 주소 나 컴퓨터 이름을 안정적으로 가져올 수 없습니다. 그러한 정보가 필요한 경우 프로토콜은 요청의 일부로 요청해야하며 클라이언트 시스템은 자발적으로 제공해야합니다. 제공된 정보의 유효성을 검사 할 수있는 방법은 없습니다 (신뢰할 수있는 암호화 인프라를 배포하는 것, 즉 클라이언트 시스템 자체에 대한 강력한 신뢰를 구축하는 것).

1

슬프게도 대답은 '아니오'입니다. 최신 브라우저는 HTTP 트랜잭션에서 개인 주소를 제공하지 않습니다. NAT (Network Address Translation)를 수행하는 클라이언트의 라우터는 IP 연결을 할 때 공용 클라이언트 IP 주소만을 제공합니다.

0

의 짧은 설명을 참조 그래 우리는 너희들이 IP를 추적하는 것은 매우 신뢰할 수 없습니다 말 때문에

... 그냥 항목을하고있는 사람을 알고 컴퓨터를 구별하기 위해이되는 일을 같은 것을하기 위해 사용할 수있는 다른 방법들

각 항목을 입력 한 컴퓨터를 알아두면됩니다.

모든 제안을

+0

원래 질문을 편집하여 추가해야합니다. 이것은 토론 포럼이 아니며 이는 회신이 아닙니다. 대답 일 예정이지만 질문에 대답하지 않습니다. –

0

당신은 각 항목이 입력 된 컴퓨터에서 알 수있는 방법이 있다는 잘못된 가정을하고 있습니다 환영받을 것입니다. 아무도이 정보가 존재한다는 것을 보증하지 않습니다. 흔히 존재하지 않을 것입니다.

각 컴퓨터가 고유하게 식별되는지 확인하는 유일한 방법은 해당 컴퓨터를 식별하는 것입니다. 예를 들어 클라이언트 인증서를 통해이 작업을 수행 할 수 있습니다. 일반적으로 각 컴퓨터에 고유 한 식별자가 있으면 고유 한 식별자를 만들어 해당 컴퓨터에 저장해야합니다. 그런 다음 해당 식별자를 다시 보내야합니다.

컴퓨터에는 다른 고유 식별자가 없습니다.

0

이 방법은 당신이 찾고있는 것 이상으로 아마하지만 흥미로운 읽기하게 :이 고유 NAT를 통해, 자사의 협력하지 않고 원격 물리적 장치를 식별하거나 당신이 다른 어떤 상상할 수 있습니다 Remote physical device fingerprinting

.

관련 문제