2016-06-19 3 views
0

나는 PHP 메일 발송자를 사용하여 여러 수신자에게 링크를 보내고 있습니다. 링크를 클릭하면 ip를 얻은 PHP 파일로 리디렉션하고 웹 페이지로 리디렉션되는 해당 PHP 파일의 헤더를 리디렉션합니다.PHP mailsender : 내 [Html message] 링크를 클릭 한 수신자는 누구입니까?

이것이 내 질문입니다. 어떤 ip가 어떤 이메일 (또는 수신자)입니까?

링크 코드 메신저로 보내는 :

<a href="http://www.example.com/data.php" style="(css part)" >blahblah</a> 

그리고 이것은 recievers의 IP를 가져오고 txt 파일에 쓰기 PHP 코드입니다 :

<?php 
$data = ' ip --> '.$_SERVER['REMOTE_ADDR']."\n" ; 
$ret = file_put_contents('data.txt', $data, FILE_APPEND | LOCK_EX); 
header('Location: http://example2.com'); 
?> 

내 질문하는 경우 isnt clear 더 자세히 설명해주세요 .THANKS

답변

0

만약 내가 당신의 질문을 정확하게 이해한다면, 당신이 실제로 달성하고자하는 것은 fi입니다. 어떤 사람이 귀하의 전자 메일을 열 었는지 파악하고 IP 주소를 프록시로 수집 한 다음 IP 주소를 기반으로 한 사람을 알아낼 수 있기를 바랍니다.

불행히도, 그것은 작동하지 않습니다. 많은 (대부분) 회사는 NAT 기반 방화벽을 사용하며 수천 명의 사용자가 모두 동일한 IP 주소를 통해 인터넷에 액세스 할 수 있습니다. 그리고 반대로 스타 벅스에서 오후에, 오후에 직장에서, 집에 도착한 후에도 같은 사용자가 아침에 다른 IP 주소를 가질 수 있습니다.

IPv6를 믹스에 추가하면 상황이 더욱 복잡해집니다.

문제를 해결하려면 다른 접근 방식을 취해야합니다. 하나의 쉬운 솔루션은 각 수신자에게 임의의, 그러나 유일한 코드를 할당하는 것입니다. 32 자의 16 진수 문자열이 좋습니다.

이메일을 보낼 때이 코드와 그것이 속한 이메일 주소를 저장합니다. 귀하의 이메일에있는 링크는 다음과 같습니다 :

<a href="http://www.example.com/data.php?code=11921af91234a8813fa" style="(css part)" >blahblah</a> 

이것은 귀하가 보내는 이메일마다 URL이 다를 것임을 유의하십시오.

수신 측에서는 data.php가 URL에서 코드를 추출하여 데이터베이스에 저장합니다.

모든 내용은 다음과 같습니다. 이러한 자체 개발 솔루션에 만족하지 않을 가능성이 높습니다. 매우 정교한보고 기능으로 선반에서 (또는 서비스로) 소프트웨어를 구입할 수 있습니다.

가장 큰 문제는 스팸 필터 및 개인 정보 보호 필터 일 가능성이 높습니다. 두 가지 모두 URL에서 이와 같은 종류의 코드를 정확하게 찾을 수 있습니다. 상용 상용 솔루션을 사용하면 이러한 유형의 문제를 전문가에게 맡깁니다.

+0

빠른 답장을 보내 주셔서 감사합니다. 나는 당신이 링크에 추가 한 부분을 어떻게 추출 하는가? –

+0

' Veve

관련 문제