2012-03-11 7 views
0

$ _SERVER [ 'REMOTE_ADDR']을 (를) 사용하는 경우 원래 주소가 표시되지 않도록 IP 주소를 변경하는 방법; in PHPIP 주소를 주어진 주소로 변경하고 웹 사이트에 액세스하는 방법

+0

은 자신의 IP 주소를 숨기고 있다고 말하면 수퍼 유저에 속합니다. 그러나 FWIW는 Tor를 사용합니다. –

+1

문제의 문맥을 설명하십시오. 왜 필요하고 코드를 개발/디버깅하는 것과 관련이 있습니까? –

답변

1

자신이 아닌 다른 IP에서 웹 사이트에 액세스하려는 경우 프록시 서버를 사용해야합니다. Wikipedia 자세한 정보가 있습니다.

1

내가 염두에 두어야 할 몇 가지 옵션이 있습니다. 나는 더 단순한 것으로부터 더 복잡한 것으로 갈 것입니다.

  • 첫째, 당신은 프록시 서버를 사용할 수 있습니다 당신을 위해 리소스를 가져, 프로그램이나 브라우저에 의해 만들어진 HTTP 요청을 통해 물어. 프록시 서버는 사용자의 위치에있는 자원을 대상 서비스에 쿼리하는 역할을합니다.

    예 :

    당신은 도메인 stackoverflow.com의 메인 페이지를 검색 할 수 있습니다. 프록시 서버에게 stackoverflow의 HTTP 서버에게 메인 페이지를 보내 줄 것을 요청하면 다시 전달할 것입니다.

    SO 웹 서버의 경우, 글로벌 변수 $_SERVER['REMOTE_ADDR']은 프록시 서버의 IP 주소와 일치하지만 사용자의 변수는 아닙니다. 그러나 HTTP 프로토콜은 HTTP_VIA, HTTP_X_FORWARDED_FOR 또는 HTTP_FORWARDED과 같이 현재 HTTP 요청이 프록시에 의해 만들어 졌는지 여부를 알기 위해 사용할 수있는 필드를 구현합니다.

    투명 프록시는 해당 필드를 지정하지 않습니다와 불투명 프록시가 원래 요청자의 원래 IP 주소를 공개 할 수있는 반면 요청을 수정하지 않습니다. 당신은 당신이 행동하고자하는대로 행동 할 신뢰할 수있는 프록시를 사용해야합니다. 고려해야 할 또 다른 사항은 도청을 피하기 위해 귀하와 프록시 사이에 SSL tunnel을 사용하는 것입니다.

  • 두 번째 해결 방법은 VPN (가상 사설망) 서버를 사용하는 것입니다. VPN 서비스 (예 : l2tpd, pptpd ...)를 사용하여 컴퓨터에 연결되어있을 때이 기능이 어떻게 작동하는지 완전히 설명하기에는 너무 복잡 할 것입니다. 컴퓨터. 따라서 웹 서버에 투명하게 요청할 수 있으며 실제 IP 주소가 무엇인지 결코 알 수 없습니다.

  • 세 번째 솔루션은 TOR과 같은 링크 된 노드 기반 네트워크를 사용할 수 있습니다. 그것은 당신이 연결할 수있는 무료 네트워크이며, 당신은 일반 사람들에게 완전히 익명입니다. TOR 네트워크 전원은 많은 노드의 네트워크를 제공하는 것이며 각 노드는 다른 노드에 대해 알지 못하므로 TOR 네트워크에 연결된 사람조차도 자신에 대해 아무 것도 알 수 없습니다. 관심이 있으시면이 부분에 대해 더 읽어 보시기 바랍니다. 이

일반적으로 가짜 IP 주소를 사용하고 문자 그대로 다른 컴퓨터의 TCP 연결를 도용되는 등의 TCP 세션 하이재킹과 같은 더 복잡한 다른 솔루션이 있지만, 이것은이 답변의 범위를 벗어납니다.

관련 문제