테스트 사이트 - 개발 중인 베타 버전입니다

접속자의 IPv4 주소를 받을 방법이 있나요? 채택완료

하틴 4년 전 조회 1,817

투표할때 중복투표하는 부분을 아이디 없이 아이피로만 구분해서 할려고하는데

같은 공유기를 쓰는 사무실에서는 아이피가 동일하다보니 한사람만 투표를 해도

모두 투표했다고 떠가지고 ㅠㅠ

 

해당부분을 해결하고자 각 개별 PC의 IP를 가져오고싶은데 구글링으로 나름 찾아봤지만

해보니까 안되더라구요 ㅠㅠ

 

if(!empty($_SERVER['HTTP_CLIENT_IP']) && getenv('HTTP_CLIENT_IP')){             return $_SERVER['HTTP_CLIENT_IP'];         }        elseif(!empty($_SERVER['HTTP_X_FORWARDED_FOR']) && getenv('HTTP_X_FORWARDED_FOR')){             return $_SERVER['HTTP_X_FORWARDED_FOR'];         }        elseif(!empty($_SERVER['REMOTE_HOST']) && getenv('REMOTE_HOST')){             return $_SERVER['REMOTE_HOST'];         }        elseif(!empty($_SERVER['REMOTE_ADDR']) && getenv('REMOTE_ADDR')){             return $_SERVER['REMOTE_ADDR'];         }    

 

이런걸로도 안나오더라구요ㅠㅠ

혹시 접속자의 IPv4 주소를 가져오는게 불법인가요?

댓글을 작성하려면 로그인이 필요합니다.

답변 1개

채택된 답변
+20 포인트
진서기
4년 전

PHP로는 공유기 IP는 사설IP라서 가져올 수 없습니다.

https://stackoverflow.com/questions/18572365/get-local-ip-of-a-device-in-chrome-extension">networking - Get Local IP of a device in chrome extension - Stack Overflow

스크립트로는 가능한듯 한데 참고하세요.

 

중복투표 방지는 세션이나 쿠키로 해보세요.

로그인 후 평가할 수 있습니다

답변에 대한 댓글 2개

하틴
4년 전
답변감사합니다~! 세션이나 쿠키로하면 세션과 쿠키를 초기화하면 중복투표 방지가 뚫리지 않나요?
진서기
4년 전
절대적은건 없습니다.

쿠키 삭제하고 브라우저 닫고 다시 들어오면 당연히 됩니다.

절대 중복투표 되지 않아야 하는 거라면 회원가입시 본인인증하고 1인 1회 투표하도록 해야죠

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인