게시판 자동 등록 방지 적용하기
bbs/norobot_image.php 를 만드신 후
<?
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
define("_DOCTYPE_", "NONE");
function echo_check_image($str, $width, $height, $background_color, $text_color, $grid_color)
{
$number = $str;
$background_color = str_replace("#", "", $background_color);
$text_color = str_replace("#", "", $text_color);
$grid_color = str_replace("#", "", $grid_color);
// WebColor -> RGB
$BR = hexdec(substr($background_color, 0, 2));
$BG = hexdec(substr($background_color, 2, 2));
$BB = hexdec(substr($background_color, 4, 2));
$TR = hexdec(substr($text_color, 0, 2));
$TG = hexdec(substr($text_color, 2, 2));
$TB = hexdec(substr($text_color, 4, 2));
$GR = hexdec(substr($grid_color, 0, 2));
$GG = hexdec(substr($grid_color, 2, 2));
$GB = hexdec(substr($grid_color, 4, 2));
$im = @imagecreate($width, $height) or die("Cannot Initialize new GD image stream");
header ("Content-type: image/png");
$background_color = imagecolorallocate($im, $BR, $BG, $BB);
$text_color = imagecolorallocate($im, $TR, $TG, $TB);
$grid_color = imagecolorallocate($im, $GR, $GG, $GB);
image_random_grid($im, $width, $height, 5, $grid_color);
imagestring($im, rand(4,6), rand(5,15), rand(1,3), $number, $text_color);
imagepng($im);
imagedestroy($im);
}
function image_random_grid($im, $w, $h, $s, $color)
{
for($i=1; $i<$w/$s; $i++) {
$tmp = rand($s-$s/3, $s+$s/3);
imageline($im, $i*$tmp, 0, $i*$tmp, $h, $color);
}
for($i=1; $i<$h/$s; $i++) {
$tmp = rand($s-$s/3, $s+$s/3);
imageline($im, 0, $i*$tmp, $w, $i*$tmp, $color);
}
}
echo_check_image($_SESSION['ss_norobot_key'], 80, 19, "#FF33CC", "#FFFFFF", "#FF79DE");
?>
bbs/skin/board/basic/gbform.skin.php 의
<?=$norobot_str?>
를
<img src="./?doc=bbs/norobot_image.php&time=<?=time()?>" border=0 align=absmiddle>
로 대체하시기 바랍니다.
<?
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
define("_DOCTYPE_", "NONE");
function echo_check_image($str, $width, $height, $background_color, $text_color, $grid_color)
{
$number = $str;
$background_color = str_replace("#", "", $background_color);
$text_color = str_replace("#", "", $text_color);
$grid_color = str_replace("#", "", $grid_color);
// WebColor -> RGB
$BR = hexdec(substr($background_color, 0, 2));
$BG = hexdec(substr($background_color, 2, 2));
$BB = hexdec(substr($background_color, 4, 2));
$TR = hexdec(substr($text_color, 0, 2));
$TG = hexdec(substr($text_color, 2, 2));
$TB = hexdec(substr($text_color, 4, 2));
$GR = hexdec(substr($grid_color, 0, 2));
$GG = hexdec(substr($grid_color, 2, 2));
$GB = hexdec(substr($grid_color, 4, 2));
$im = @imagecreate($width, $height) or die("Cannot Initialize new GD image stream");
header ("Content-type: image/png");
$background_color = imagecolorallocate($im, $BR, $BG, $BB);
$text_color = imagecolorallocate($im, $TR, $TG, $TB);
$grid_color = imagecolorallocate($im, $GR, $GG, $GB);
image_random_grid($im, $width, $height, 5, $grid_color);
imagestring($im, rand(4,6), rand(5,15), rand(1,3), $number, $text_color);
imagepng($im);
imagedestroy($im);
}
function image_random_grid($im, $w, $h, $s, $color)
{
for($i=1; $i<$w/$s; $i++) {
$tmp = rand($s-$s/3, $s+$s/3);
imageline($im, $i*$tmp, 0, $i*$tmp, $h, $color);
}
for($i=1; $i<$h/$s; $i++) {
$tmp = rand($s-$s/3, $s+$s/3);
imageline($im, 0, $i*$tmp, $w, $i*$tmp, $color);
}
}
echo_check_image($_SESSION['ss_norobot_key'], 80, 19, "#FF33CC", "#FFFFFF", "#FF79DE");
?>
bbs/skin/board/basic/gbform.skin.php 의
<?=$norobot_str?>
를
<img src="./?doc=bbs/norobot_image.php&time=<?=time()?>" border=0 align=absmiddle>
로 대체하시기 바랍니다.
|
댓글 작성
댓글을 작성하시려면 로그인이 필요합니다.
로그인하기
댓글 8개
감사합니다..
안그래도 어떻게 해야되나.. 개뿔도 모르면서 gb3 소스보며 고민에 빠져 있었는데
이렇게 올라와 있군요(역시 검색을 생활화 해야... ㅎㅎ)
관리자님 감사드려요