IP노출을 암호로... 정보
IP노출을 암호로...본문
커뮤니티사이트를 운영하다보면 다수의 계정으로 여러사람인것처럼 훼이크 치시는 분이있습니다.
그렇다고 IP공개를 절대적으로 안된다고 주장하는 회원분들이 많습니다.
네이트판에서도 사용되는 방법입니다.
IP:<?=base64_encode($list[$i][ip])?>
IP노출은 안되지만 동일인은 확인할 수 있습니다
그렇다고 IP공개를 절대적으로 안된다고 주장하는 회원분들이 많습니다.
네이트판에서도 사용되는 방법입니다.
IP:<?=base64_encode($list[$i][ip])?>
IP노출은 안되지만 동일인은 확인할 수 있습니다
추천
0
0
댓글 15개
md5 로 하셔도 될 듯.
비회원게시판에서는 유용할 듯 싶네요.
비회원게시판에서는 유용할 듯 싶네요.
md5는 너무길어서..
http://www.php.net/manual/en/function.base64-decode.php
base64_decode 함수가 있기 때문에, 이거는 그냥 보여주는거랑 같아요.
복원이 불가능한 md5를 쓰시는게 원칙인거 같아요.
base64_decode 함수가 있기 때문에, 이거는 그냥 보여주는거랑 같아요.
복원이 불가능한 md5를 쓰시는게 원칙인거 같아요.
네 그런데 md5는 보기 않좋더라구요.
네이트 판에서도 이방법을 쓰길래 흉내낸것입니다
네이트 판에서도 이방법을 쓰길래 흉내낸것입니다
decode 방법이 존재하는 것은 옳지 않아요.
http://www.php.net/manual/en/function.md5.php
md5에서 raw_output 필드를 true로 하면
32자리가 아닌 16자리로 리턴해 줍니다.
16자리면 base64_encode와 비교해서 길지는 않다고 생각 합니다.
If the optional raw_output is set to TRUE,
then the md5 digest is instead returned in raw binary format with a length of 16.
Defaults to FALSE.
md5에서 raw_output 필드를 true로 하면
32자리가 아닌 16자리로 리턴해 줍니다.
16자리면 base64_encode와 비교해서 길지는 않다고 생각 합니다.
If the optional raw_output is set to TRUE,
then the md5 digest is instead returned in raw binary format with a length of 16.
Defaults to FALSE.
http://kr.php.net/manual/en/function.bin2hex.php
bin2hex(md5( str, true)가 md5( str, false)아닌가요?
bin2hex(md5( str, true)가 md5( str, false)아닌가요?
그렇네요. 그럼 md5를 15자리 내외로 변형해서 보여주는 방법을 찾아야 하겠네요.
<?
echo crypt("121.123.123.321", "12");
?>
결과 : 20O0/qLxwnu4Q
이렇게 $g4[time_ymd]의 d값을 salt로 쓰는 것은 어떻습니까?
http://kr2.php.net/manual/kr/function.crypt.php
---
이거는 crypt 함수가 8자리까지만 암호화 하니까 쓸 수 없네요.
<?
echo crypt("121.123.123.321", "12");
?>
결과 : 20O0/qLxwnu4Q
이렇게 $g4[time_ymd]의 d값을 salt로 쓰는 것은 어떻습니까?
http://kr2.php.net/manual/kr/function.crypt.php
---
이거는 crypt 함수가 8자리까지만 암호화 하니까 쓸 수 없네요.
네 전에md5가 넘길어서 해봤었는데 특수문자들이 깨져서 나와서 안했습니다.
아이피 암호할꺼라면 왜 출력을 하죠 ^^ 그냥 출력안하면되는거 아닌가요??
ip로 누군지 구분은 가능하게 하면서, ip 정보를 가지고 whois.krnic.or.kr 같은 곳에서
조회할 수 없게 하기 위함이죠.
조회할 수 없게 하기 위함이죠.
아이피는 알면안되지만 회원끼리 다수계정으로 다수인처럼 행동하는 경우가있습니다
<?
include_once("./_common.php");
echo crypt(base_convert(ip2long("255.255.255.255"),10,36), $g4['table_prefix']);
?>
무려 3번의 함수를 쓰지만 이렇게 하면 되지 않을까요?
ip의 경우 ip2long 함수를 쓰면 숫자가 됩니다.
이 숫자를 36진법으로 변환을 하면 자릿수가 8자리 이내가 됩니다.
다음에 crypt 함수를 써서 암호화를 해주는 것이죠(crypt는 8자리 까지만 암호화 합니다).
salt는 그누의 table_prefix를 쓰구요.
crypt는 복호화가 안되니까, 이렇게 하면 구분은 가도 ip 추출은 안될 겁니다.
include_once("./_common.php");
echo crypt(base_convert(ip2long("255.255.255.255"),10,36), $g4['table_prefix']);
?>
무려 3번의 함수를 쓰지만 이렇게 하면 되지 않을까요?
ip의 경우 ip2long 함수를 쓰면 숫자가 됩니다.
이 숫자를 36진법으로 변환을 하면 자릿수가 8자리 이내가 됩니다.
다음에 crypt 함수를 써서 암호화를 해주는 것이죠(crypt는 8자리 까지만 암호화 합니다).
salt는 그누의 table_prefix를 쓰구요.
crypt는 복호화가 안되니까, 이렇게 하면 구분은 가도 ip 추출은 안될 겁니다.
감사합니다...
감사합니다