포탈사이트에서 회원가입시 자동가입을 막기위해 사용되는 이미지 만들기

orblog
http://ulovem.com
http://ulovem.com/board/zboard.php?id=StartPage_Info&no=94

많은 포탈 사이트에서 회원가입시 자동가입을 막기위해 사용되는 이미지 만들기
폰트파일이 없는 경우는 첨부파일 링크로 가서 다운 받으십시요
암호화 하는 부분은 공개할 수가 없어서 base 64로 encoding 하지만 사용하시는 암호화 모듈이 있다면 그것을 사용하면 될것이다.

gdshow.php
// indent rule
// vi:ts=4 sts=4 sw=4

## 회원가입시 사용하는 랜덤 스트링 만들기
## 2005.03.17 오후 11:48:40 by Ulovem.com

$buffer = base64_encode(“fjsadfjsalkjflk”);
echo ““;

?>

gdwrite2.php
// indent rule
// vi:ts=4 sts=4 sw=4

## 회원가입시 사용하는 랜덤 스트링
## 2005.03.17 오후 11:48:40 by Ulovem.com

function showStrImg($buf = false , $size = 10 , $fontsize = 20, $height = 50)
{
if ( ($size == false && $buf == false) || $buf == false )
{
$rndstr = MakeRandString($size);
showStrImg(MakeRandString($size), $size , $fontsize, $height);
return md5($rndstr);
exit;

} else {
$size = strlen($buf);
}

header(“Content-type: image/jpeg”);

$im = imagecreate(ImageFontWidth($fontsize) * ($size * 3)+50, $height);
$white = imagecolorallocate($im, 255, 255, 255);
$black = imagecolorallocate($im, 0, 0, 0);

for ( $i = 0 ; $i < $size; $i ++)
{
$angel = RandArray(array(45, -45));
imagettftext($im, $fontsize, $angel, ImageFontWidth($fontsize) * ($i * 3) +30, $height-$fontsize, $black, “/usr/share/fonts/ko/TrueType/gulim.ttf”,substr($buf, $i, 1));
imagegammacorrect ($im,RandNum(1,50),RandNum(1,50));

}

imagegif($im);
imagedestroy($im);

}

function RandNum($start,$end)
{
return mt_rand($start, $end);
}

function RandArray($arr)
{
$seq = mt_rand(1, sizeof($arr));

return $arr[$seq];

}

function MakeRandString($inLength=16){
mt_srand( MakeSeed() );
$newstring=””;

if( $inLength > 0){
while( strlen($newstring) < $inLength ){
switch( mt_rand(2,3) ){
case 1: $newstring.=chr(mt_rand(49,57)); break; // 0-9
case 2: $newstring.=chr(mt_rand(65,90)); break; // A-Z
case 3: $newstring.=chr(mt_rand(97,122)); break; // a-z
}
}
}
return $newstring;
}

function MakeSeed()
{
$hash = md5(microtime());
$loWord = substr($hash, -8);
$seed = hexdec($loWord);
$seed &= 0x7fffffff;

return $seed;
}

showStrImg(base64_decode($_GET[“par”]));

?>