2016-06-10 4 views
4

내 학교의 최종 시험으로 숨겨진 서비스를 실행하고 있지만 문제가 있습니다. 내 웹 사이트에 연결하는 동일한 컴퓨터의 IP가 약간 변경 될 수 있음을 보여줘야하지만, 시도 할 때 $ip=$_SERVER['REMOTE_ADDR'];과 같은 함수는 나에게 연결되는 마지막 tor 노드 대신 항상 나에게 127.0.0.1을 제공합니다. 어떻게 해결할 수 있습니까? Tor 네트워크에서 정상입니까? 미리 환호!Tor 웹 페이지를 요청하는 클라이언트 IP를 얻는 방법은 무엇입니까?

+0

당신에게 연결되어있는 컴퓨터의 실제 IP 숨기기가 Tor의 전체적인 포인트입니다! – Quentin

+0

localhost를 통해 TOR을 실행하면 TOR이'127.0.0.1'로 표시되는 것은 정상입니다. 추가 정보를 제공하는 경우 후속 IP를 확인할 수 있지만 다음 홉 만 얻을 수 있습니다. – DocRattie

+0

내 말은, 나에게 연결되는 마지막 토르 노드 IP를 알 것이다. (누군가 연결될 때마다 바뀌어야한다.) 그러나 항상 나에게 127.0.0.1을 준다! 이 일을하는 방법이 아닌가요? –

답변

0

직접적인 방법은 없지만 타사 서버를 사용하여 localhost 서버에서도 실제 IP를 얻을 수 있습니다. 여기

<?php   
    $content = file_get_contents('http://checkip.dyndns.com/'); 
    preg_match('/Current IP Address: \[?([:.0-9a-fA-F]+)\]?/', $content, $ip); 
    echo $externalIp = $ip[1]; 
?> 

는 작업 PHPFiddle이다. 이것이 도움이 되길 바래, 건배 :)

+0

이 코드는 전혀 작동하지 않는 것처럼 보입니다. 여기에 넣은 코드를 쓴 다음'echo "$ externalIp"'...를 넣으십시오. 그러나 아무 것도 나타나지 않습니다. –

+0

작동하는 [PHPFiddle] (http : // phpfiddle.org/main/code/0k49-pqjy) – Neeraj