2010-05-29 2 views
4

나는 독서를 기억하지만, 더 이상 링크를 찾을 수 없다는 것에 대해 확신한다. 이것에 관해서는 : 일부 ISP (미국에서 적어도 하나의 거대한 ISP 포함)에서 사용자의 GET 및 POST 요청을 표시하는 것이 가능하다. 서로 다른 IP에서 왔습니다. 동일한 컴퓨터의 GET 및 POST 요청이 다른 IP에서 올 수 있습니까?

(이것은 완전히 관련 프로그래밍을되어 있습니다, 나는 아래의 예를주지)

나는 하지 당신의 IP 주소가 동적으로 두 요청 사이에서 변경하는 것에 대한 이야기입니다.

나는 이것에 대해 이야기하고있다 :

IP 1: 123.45.67.89 
IP 2: 101.22.33.44 

같은 사용자가 다음 GET, 게시물을 만들고, 다음, 다시 GET 다시 다음 POST와 서버는이 참조 :

- GET from IP 1 
- POST from IP 2 
- GET from IP 1 
- POST from IP 2 

그렇기 때문에 사용자와 동일한 사용자는 웹 서버가 GET 및 POST에 대해 다른 IP를 보게됩니다.

분명히 HTTP가 상태없는 프로토콜 인 것을 알았습니다. 이것은 완벽하게 합법적입니다.

특정 ISP가 어떻게/왜 왜 자신의 네트워크가 이런 식으로 구성되어 있는지에 대한 설명을 찾고 싶습니다.

누군가 내가 다음 IP 필터를 구현하도록 요청했기 때문에 나는 근본적으로 깨진 코드 (적어도 하나의 주요 미국 ISP 사용자들에게 혼란을 낳고 있음)가 확실하기 때문에 묻습니다.

다음은 일부 공격으로부터 시스템을 보호하기위한 Java 서블릿 필터입니다. 그 이유는 다음과 같습니다.

"모든 세션 필터에서 요청의 IP 주소가 세션 생성시 사용한 IP 주소와 같은지 확인합니다.이 경우 가짜 세션을 구성하기 위해 세션 ID를 도용 할 수 없습니다."

http://www.servletsuite.com/servlets/protectsessionsflt.htm

그러나 나는 당신이 GET과 POST 다른 IP의 오는 것을 볼 수 있습니다 ISP들이 있기 때문에 이것은 본질적으로 고장 확신 해요.

+0

흥미 롭 군, 나는 이것을 알고 싶다. – DMin

답변

5

일부 ISP (또는 대학 네트워크)는 네트워크 부하가 가장 적은 송신 노드의 요청을 중계하는 투명 프록시를 작동합니다.

이 상황에서 다시 발생할 수있는 부하가 가장 적은 NIC를 사용하려면 로컬 컴퓨터에서이 구성을 구성 할 수도 있습니다.

이것은 HTTP에 유효한 상태이며, 비교적 드물게 발생해야하지만 이것이 IP를 기반으로하는 사용자의 유효성 검사가 신원의 적절한 결정 요소가 아닌 이유입니다.

1

웹 서버가 보게되는 것은 최종 사용자가 일종의 프록시/게이트웨이 뒤에 있음을 의미합니다. HTTP가 무국적이라는 점을 감안할 때 완벽하게 유효하다고 말하기는하지만 이상한 일이라고 상상해보십시오. 내가 아는 한, 대부분의 ISP는 가정 사용자에게 번역되지 않은 실제 IP를 할당합니다 (일반적으로 동적 임에도 불구하고).

물론 기업/기관 네트워크의 경우 아무 것도 할 수 있습니다. 로드 밸런싱은 요청이 다른 IP에서 온다는 것을 의미 할 수 있으며 때로는 요청 유형이 다른 게이트웨이로 배포 될 수도 있습니다 (그 이유는 N_GET >> N_POST 인 이유가 무엇인지 알고 싶을 것입니다).