±Û¾²±â ±âº»¿É¼Ç + ¼ºÀÎ±Û ¿É¼Ç Ãß°¡Çϱâ
°ü¸®ÀÚ 06-01-14 09:02
 http://sir.co.kr/bbs/tb.php/g4_tiptech/2149, HIT:6
¡Ø±Û¾²±â ±âº»¿É¼Ç + ¼ºÀÎ±Û ¿É¼Ç Ãß°¡Çϱâ

±Û¾²±â½Ã ±âº» ¿É¼ÇÀ¸·Î html1,html2,secret,mail ÀÌ ÀÖ½À´Ï´Ù.
html,ºñ¹Ð±Û,´äº¯¸ÞÀÏÀÌ ±×°ÍÀä. ¿©±â¿¡ adult¶ó´Â ¼ºÀÎ±Û ¿É¼ÇÀ»
Ãß°¡Çؼ­ ¸¸ 19¼¼ ÀÌ»óÀÇ È¸¿ø¸¸ ÇØ´ç °Ô½Ã¹°À» ÀÐÀ» ¼ö ÀÖ°Ô ÇÕ´Ï´Ù.

¿©À¯Çʵ带 »ç¿ëÇØ¼­ ÇÒ ¼öµµ ÀÖ°ÚÁö¸¸, ¿É¼ÇÇ׸ñ¿¡ °°ÀÌ ¹¯¾î°¡´Â°Ô
ÁÁ´Ù°í ÆÇ´ÜÇØ¼­ °Å±â(wr_option)¿¡ ³¢¿ö ³Ö±â·Î Çß½À´Ï´Ù.

¡Ú º» ¼ºÀαÛÀÇ ¼ºÀαâÁØÀº mb_birth °ªÀ» ÀÌ¿ëÇÕ´Ï´Ù.

¼öÁ¤ÇÒ ¹®¼­´Â 8°³ ÀÔ´Ï´Ù.
=========================
1.adm/sql_write.sql ______°Ô½ÃÆÇ »ý¼º½Ã adultµµ ¿É¼Ç¿¡ µé¾î°¡°Ô ¼öÁ¤
2.skin../write.skin.php __"¼ºÀαÛ"À̶ó´Â äũ¹Ú½º°¡ ³ª¿À°Ô Ãß°¡(¼ºÀÎȸ¿ø¿¡°Ô¸¸)
3.skin../list.skin.php ___¼ºÀαۿ¡ °ü·Ã À̹ÌÁö Ãâ·ÂµÇ°Ô Ãß°¡
4.lib/common.lib.php _____¼ºÀÎ±Û À̹ÌÁö º¯¼ö Á¤ÀÇ Ãß°¡
5.bbs/write.php __________¼ºÀÎȸ¿øÀÎÁö üũ,¼öÁ¤½Ã äũ¹Ú½º äũ»çÇ× Ãß°¡
6.bbs/write_update.php ___¿É¼ÇÇʵå(wr_option)¿¡ ¼ºÀαÛ(adult) ±â·ÏµÇ°Ô ¼öÁ¤
7.bbs/board.php __________¼ºÀÎȸ¿øÀÎÁö üũ, ºÒ¸¸Á·À϶§ ¿¡·¯Ãâ·Â Ãß°¡
8.bbs/search.php _________°Ë»ö½Ã ¼ºÀαÛÀÎ °Ô½Ã¹° °Ë»öµÇÁö ¾Ê´Â Á¶°Ç Ãß°¡

¸¹Àº ¾ç°°¾Æ º¸ÀÌÁö¸¸ ´ëºÎºÐ ¼Ò½º Á» Ãß°¡ÇÏ°í ¾à°£ ¼öÁ¤ÇÏ´Â Á¤µµÀÔ´Ï´Ù.


¡Ú ¸ÕÀú ÇØ¾ß ÇÒ °Í..
ÇöÀç ÀÖ´Â °Ô½ÃÆÇÀº phpmyadminÀ¸·Î ÇØ´ç °Ô½ÃÆÇ Å×ÀÌºí¿¡ °¡¼Å¼­
wr_option ÇʵåÀÇ Á¾·ù¸¦ º¸½Ã¸é set('html1', 'html2', 'secret', 'mail')
ÀÌ·¸°Ô º¸ÀÏ °Ì´Ï´Ù. º¯°æÀ» ´©¸£½Ã°í "±æÀÌ/°ª"ÂÊ¿¡
,'adult'
ÀÌ·¸°Ô Ãß°¡¸¸ ÇØÁÖ½Ã¸é µË´Ï´Ù. ±×·³ ÀÌ·¸°Ô µÇ°ÚÁÒ.
'html1', 'html2', 'secret', 'mail','adult'


¾Æ·¡ 1.¹ø ÀÛ¾÷À» ÇϽøé, °Ô½ÃÆÇÀ» °ü¸®ÀÚ ¸ðµå¿¡¼­ »õ·Î ¸¸µé¸é ÀÚµ¿À¸·Î adult°¡
Ãß°¡µÇ¾î ¸¸µé¾î Áö¹Ç·Î ÀÌ·¸°Ô ¸¸µé¾îÁø °Ô½ÃÆÇ¿¡´Â À§¿¡ ¸ÕÀú ÇØ¾ß ÇÒ °Í°ú
°°Àº ÀÛ¾÷À» ¾ÈÇØµµ »ó°ü ¾ø½À´Ï´Ù.


-¼ºÀÎ±Û Ç¥½Ã ¾ÆÀÌÄÜÀº ÷ºÎÀ̹ÌÁö ÂüÁ¶Çϼ¼¿ä.


¼öÁ¤ : 2005.1.14
-write.skin.php¿¡ </td></tr>¿¡ °üÇØ ½Ç¼öÇÒ ¼ÒÁö°¡ ÀÖ¾î ¼öÁ¤
-list.skin.php¿¡¼­ ¼¶³×ÀÏ°Ô½ÃÆÇÀÇ °æ¿ì ¼¶³×ÀÏ Ãâ·Â¿¡ °üÇÑ ¼Ò½º Ãß°¡
-5¹ø,7¹ø ¿¡¼­ ÇöÀç´Â »ý³â¿ùÀϸ¸ ÀÖÀ¸¸é ¼ºÀÎÀÎÁõµÇ´Âµ¥¿ä, ¸¸¾à Áֹεî·Ï¹øÈ£°¡
²À ÀÖ¾î¾ß¸¸ µÈ´Ù°í ÇϽ÷Á¸é, && $member[mb_birth] ¸¦
&& $member[mb_jumin] ·Î 2°÷ ¹Ù²Ù½Ã¸é µË´Ï´Ù.



ÀÛ¾÷½ÃÀÛ.
1.
adm/sql_write.sql ¹®¼­¸¦ ¿©½ÅÈÄ..

wr_option set('html1','html2','secret','mail') NOT NULL default '',
¢ºÀ§ ¼Ò½º¸¦..

wr_option set('html1','html2','secret','mail','adult') NOT NULL default '',
¢ºÀ§ ¼Ò½ºÃ³·³ ±³Ã¼ÇÕ´Ï´Ù.

¡Ø»õ·Î¿î °Ô½ÃÆÇ »ý¼º½Ã ÀÚµ¿À¸·Î ¿É¼ÇÇʵ忡 adult°¡ Ãß°¡µË´Ï´Ù.

2.
skin../write.skin.php ¹®¼­¸¦ ¿©½Å ÈÄ..
<? if ($is_mail) { ?><input type=checkbox value="mail" name="mail" <?=$recv_email_checked?>>´äº¯¸ÞÀϹޱâ&nbsp;<? } ?></td></tr>
¢ºÀ§ ¼Ò½º¿¡¼­ </td></tr> À̰Š»èÁ¦ÇϽðí, ±× ¾Æ·§ ÁÙ¿¡...

<? if ($is_adult) { ?><input type=checkbox value="adult" name="adult" <?=$adult_checked?>><span class=w_title>¼ºÀαÛ</span><img src="<?=$board_skin_path?>/img/icon_adult.gif" align="absmiddle" title="¸¸ 19¼¼ ÀÌ»óÀÇ È¸¿ø¸¸ ¿­¶÷°¡´É">&nbsp;<? } //¡Ú¼ºÀα۰ü·ÃÃß°¡?></td></tr>
¢ºÀ§ ¼Ò½º¸¦ Ãß°¡ÇØ ³Ö½À´Ï´Ù.
¡Ø¼ºÀÎȸ¿øÀÎ °æ¿ì¿¡¸¸ ¼ºÀÎ±Û Ã¤Å©¹Ú½º°¡ Ãâ·ÂµË´Ï´Ù. write.php¿¡¼­ Á¦¾î

3.
skin../list.skin.php ¹®¼­¸¦ ¿©½Å ÈÄ..
echo " " . $list[$i][icon_secret];
¢ºÀ§ ¼Ò½º ¾Æ·§ ÁÙ¿¡..

echo " " . $list[$i][icon_adult]; //¡Ú¼ºÀα۰ü·ÃÃß°¡
¢ºÀ§ ¼Ò½º¸¦ Ãß°¡ÇØ ³Ö½À´Ï´Ù. ¼ºÀÎ±Û ¾ÆÀÌÄÜ »ðÀÔÇÏ´Â °Ì´Ï´Ù.

¡Ø¡Ø Ãß°¡·Î..
if ($list[$i][icon_adult] && !$is_adult && !$is_admin) $list[$i][subject] = "¼ºÀÎÄÁÅÙÃ÷ÀÔ´Ï´Ù"; //¡Ú¼ºÀα۰ü·ÃÃß°¡
À§ ¼Ò½º¸¦ $list[$i][subject] °¡ Ãâ·ÂµÇ´Â °÷º¸´Ù À§ÂÊ¿¡ ÀûÀýÈ÷ »ðÀÔÇϽøé..
¼ºÀÎȸ¿øÀÌ ¾Æ´Ñ °æ¿ì ±ÛÁ¦¸ñ ´ë½Å "¼ºÀÎÄÁÅÙÃ÷ÀÔ´Ï´Ù"°¡ Ãâ·ÂµÉ °ÍÀÔ´Ï´Ù. Á¦¸ñ±îÁö ¼ºÀαÛÀÇ ¿µÇâ·ÂÀ» Çà»çÇϽǶ§ Àû¿ëÇÏ½Ã¸é µË´Ï´Ù.

¡Ø¡Ø ¼¶³×ÀÏ °Ô½ÃÆÇÀ̶ó¸é...
if (file_exists($thumb))
$img = "<img src='$thumb' border=0>";
¢ºÀ§ ¼Ò½º¸¦ ãÀ¸½Å ÈÄ..


//¡Ú À̹ÌÁöÃâ·Â¿¡°üÇÑÁ¶°Ç(ºñ¹Ð±Û,¼ºÀαÛ)
if (file_exists($thumb)) {
if (!$list[$i][icon_secret]) {
$adult_style = "";
//¼¶³×ÀÏ Ãâ·Â½Ã ¼ºÀÎÀ̹ÌÁö ¿Ö°î½ÃÄѼ­ º¸¿©ÁÖ°í ½ÍÀ»¶§ ÁÖ¼®Á¦°Å Çϼ¼¿ä.
//if ($list[$i][icon_adult] && $is_adult) $adult_style = "style=\"filter:wave(strength=10,freq=43,lightstrength=10,phase=25,add=0);\""; //À̹ÌÁö¿Ö°î ( style=\"filter:alpha(opacity=10);\" È帮°ÔÇϱâ)
if (!$list[$i][icon_adult] || $list[$i][icon_adult] && $is_adult) $img = "<img src='$thumb' border=0 $adult_style>";
}
if ($is_admin) $img = "<img src='$thumb' border=0>";
}
¢ºÀ§ ¼Ò½º·Î ±³Ã¼ÇÕ´Ï´Ù.

¡Øºñ¹Ð±ÛÀÇ ¼¶³×ÀÏÀº À̹ÌÁö¾øÀ½À¸·Î Ãâ·ÂµÇ¸ç, ¼ºÀαÛÀÇ ¼¶³×ÀÏÀº ºñȸ¿ø,¼ºÀÎÀÌ ¾Æ´Ñ ȸ¿ø¿¡°Ô´Â À̹ÌÁö ¾øÀ½À¸·Î Ãâ·ÂµË´Ï´Ù. ¼ºÀÎÀÇ °æ¿ì¿£ Á¤»óÀûÀ¸·Î ¼¶³×ÀÏÀÌ Ãâ·ÂµË´Ï´Ù. ´Ù¸¸, ¿ÜºÎÀÇ ½Ã¼±À» °í·ÁÇÏ¿© ¼¶³×ÀÏ À̹ÌÁö¸¦ ¿Ö°îµÇ°Ô Ãâ·Â ÇÏ°í ½Í´Ù¸é À§¿¡ ÁÖ¼®À» ÀÐ¾î º¸½Ã°í Àû¿ëÇØ Áֽøé, ¼¶³×ÀÏ À̹ÌÁö°¡ ¿Ö°îµÇ¾î¼­ Ç¥ÇöµË´Ï´Ù.
===================================================================
===================================================================
4.
lib/common.lib.php ¹®¼­¸¦ ¿©½Å ÈÄ..

$list[icon_secret] = "";
if (strstr($list[wr_option], "secret"))
$list[icon_secret] = "<img src='$skin_path/img/icon_secret.gif' align='absmiddle'>";
¢ºÀ§ ¼Ò½º ¾Æ·§ ÁÙ¿¡..

//¡Ú¼ºÀα۰ü·ÃÃß°¡
$list[icon_adult] = "";
if (strstr($list[wr_option], "adult"))
$list[icon_adult] = "<img src='$skin_path/img/icon_adult.gif' align='absmiddle'>";
¢ºÀ§ ¼Ò½º¸¦ Ãß°¡ÇØ ³Ö½À´Ï´Ù.

¡Ø±Û¸ñ·Ï¿¡ Ç¥½ÃÇÒ ¼ºÀÎ±Û ¾ÆÀÌÄÜÀ» º¯¼ö·Î Á¤ÀÇÇØ ÁÝ´Ï´Ù.

5.
bbs/write.php ¹®¼­¸¦ ¿©½Å ÈÄ..
$is_notice = false;
if ($is_admin && $w != "r")
{
¢ºÀ§ ¼Ò½º À­ÁÙ¿¡..

//¡Ú¼ºÀα۰ü·ÃÃß°¡½ÃÀÛ
$is_adult = false;
if((substr(date('Ymd'),0,4) - substr($member[mb_birth],0,4)) >= 19 & $member[mb_birth]) {
$is_adult = true;
}
//¡Ú¼ºÀα۰ü·ÃÃß°¡³¡
¢ºÀ§ ¼Ò½º¸¦ Ãß°¡ÇØ ³Ö½À´Ï´Ù. ±×¸®°í ¾Æ·¡·Î ³»·Á¿Í¼­..

if (strstr($write[wr_option], "secret"))
$secret_checked = "checked";
¢ºÀ§ ¼Ò½º ¾Æ·§ÁÙ¿¡..

if (strstr($write[wr_option], "adult") && $is_adult) //¡Ú¼ºÀα۰ü·ÃÃß°¡
$adult_checked = "checked";
¢ºÀ§ ¼Ò½º¸¦ Ãß°¡ÇØ ³Ö½À´Ï´Ù. ±×¸®°í ±× ¾Æ·¡¿¡ º¸½Ã¸é..

} else if ($w == "r") {
if (strstr($write[wr_option], "secret")) {
$is_secret = true;
$secret_checked = "checked";
}
¢ºÀ§ ¼Ò½º ¾Æ·§ÁÙ¿¡..

if (strstr($write[wr_option], "adult") && $is_adult) //¡Ú¼ºÀα۰ü·ÃÃß°¡
$adult_checked = "checked";
¢ºÀ§ ¼Ò½º¸¦ Ãß°¡ÇØ ³Ö½À´Ï´Ù.
¡Ø¸¸ 19¼¼ ÀÌ»óÀÇ ¼ºÀÎȸ¿øÀÎÁö üũ


6.
bbs/write_update.php ¹®¼­¸¦ ¿©½Å ÈÄ..

wr_option = '$html,$secret,$mail,
¢ºÀ§ ¼Ò½º¸¦ ãÀ¸½Å ´ÙÀ½..

wr_option = '$html,$secret,$mail,$adult',
¢ºÀ§ ¼Ò½º·Î ±³Ã¼ÇØ ÁÖ¼¼¿ä.
¡Ø¼ºÀÎ±Û ÀÛ¼º½Ã wr_optionÇʵ忡 adult ±â·ÏÇØ ÁÝ´Ï´Ù.

7.
bbs/board.php ¹®¼­¸¦ ¿©½Å ÈÄ..

// wr_id °ªÀÌ ÀÖÀ¸¸é ±ÛÀбâ
if ($wr_id)
¢ºÀ§ ¼Ò½º À­ÁÙ¿¡..

//¡Ú¼ºÀα۰ü·ÃÃß°¡½ÃÀÛ
$is_adult = false;
if((substr(date('Ymd'),0,4) - substr($member[mb_birth],0,4)) >= 19 && $member[mb_birth]) {
$is_adult = true;
}
//¡Ú¼ºÀα۰ü·ÃÃß°¡³¡
¢ºÀ§ ¼Ò½º¸¦ Ãß°¡ÇØ ³Ö½À´Ï´Ù. ±×¸®°í ¾Æ·¡·Î ³»·Á¿Í¼­..

// ºñ¹Ð±ÛÀ̶ó¸é
if (strstr($write[wr_option], "secret")) {
$ss_name = "ss_secret_{$bo_table}_$write[wr_num]";
//$ss_name = "ss_secret_{$bo_table}_{$wr_id}";
// Çѹø ÀÐÀº °Ô½Ã¹°ÀÇ ¹øÈ£´Â ¼¼¼Ç¿¡ ÀúÀåµÇ¾î ÀÖ°í °°Àº °Ô½Ã¹°À» ÀÐÀ» °æ¿ì´Â ´Ù½Ã ÆÐ½º¿öµå¸¦ ¹¯Áö ¾Ê½À´Ï´Ù.
// ÀÌ °Ô½Ã¹°ÀÌ ÀúÀåµÈ °Ô½Ã¹°ÀÌ ¾Æ´Ï¸é¼­ °ü¸®ÀÚ°¡ ¾Æ´Ï¶ó¸é
//if ("$bo_table|$write[wr_num]" != get_session("ss_secret"))
if (!get_session($ss_name))
goto_url("./password.php?w=s&bo_table=$bo_table&wr_id=$wr_id{$qstr}");
set_session($ss_name, TRUE);
}
¢ºÀ§ ¼Ò½º ¾Æ·§ÁÙ¿¡..

// ¡Ú¼ºÀα۰ü·ÃÃß°¡½ÃÀÛ
if (strstr($write[wr_option], "adult") && !$is_adult) {
if ($member[mb_id]) {
alert("ÇØ´ç ÄÁÅÙÃ÷´Â ¼ºÀÎÀÚ·á À̹ǷΠ\\n\\n¸¸19¼¼ ¹Ì¸¸ÀÇ È¸¿øÀº Á¢±Ù ±ÇÇÑÀÌ ¾ø½À´Ï´Ù.");
} else {
//alert("ÇØ´ç ÄÁÅÙÃ÷´Â ¼ºÀÎÀÚ·á À̹ǷΠ\\n\\n·Î±×ÀÎ ÈÄ ¼ºÀθ¸ ÀÌ¿ëÀÌ °¡´ÉÇÕ´Ï´Ù.", "./login.php?wr_id=$wr_id{$qstr}&url=".urlencode("board.php?bo_table=$bo_table&wr_id=$wr_id"));
//°­Á¦·Î±×ÀÎÆäÀÌÁö·ÎÀ̵¿À»¸·±âÀ§Çر³Ã¼ÇßÀ½
confirm("ÇØ´ç ÄÁÅÙÃ÷´Â ¼ºÀÎÀÚ·á À̹ǷΠ\\n\\n·Î±×ÀÎ ÈÄ ¼ºÀθ¸ ÀÌ¿ëÀÌ °¡´ÉÇÕ´Ï´Ù. \\n\\n\\nÁö±Ý ·Î±×ÀÎ ÇϽðڽÀ´Ï±î?", "./login.php?wr_id=$wr_id{$qstr}&url=".urlencode("board.php?bo_table=$bo_table&wr_id=$wr_id"));
}
}
// ¡Ú¼ºÀα۰ü·ÃÃß°¡³¡
¢ºÀ§ ¼Ò½º¸¦ Ãß°¡ÇØ ³Ö½À´Ï´Ù.
¡Ø¸¸ 19¼¼ ÀÌ»óÀÇ ¼ºÀÎȸ¿øÀÎÁö äũÇϰí, ¾Æ´Ï¶ó¸é ¿¡·¯»Ñ·ÁÁÝ´Ï´Ù.
ºñȸ¿øÀÇ °æ¿ì´Â ¿¡·¯»Ñ·ÁÁÖ°í ·Î±×ÀÎ ÆäÀÌÁö·Î À¯µµÇØ¾ß °ÚÁÒ.
ÆíÀǸ¦ À§ÇØ confirm()ÇÔ¼ö¸¦ ½è´Âµ¥¿ä. ±âº» ÇÔ¼ö¿¡ ¾øÀ¸¹Ç·Î Ãß°¡ÇØ Áà¾ß ÇÕ´Ï´Ù.
¾Æ·¡ ¸µÅ©¸¦ ÂüÁ¶Çϼż­ ÀÛ¾÷ ÇØ ÁÖ½Ã¸é µË´Ï´Ù.
http://sir.co.kr/bbs/tb.php/g4_tiptech/2005
±âº» ÇÔ¼öÀÎ alert()¸¦ ±×³É ¾²½Ã·Á¸é ÁÖ¼® Á¦°ÅÇϽðí, confirm()ÂÊ¿¡ ÁÖ¼®À»
´Ù½Ã¸é µÇ°Ú½À´Ï´Ù.

8.
bbs/search.php ¹®¼­¸¦ ¿©½Å ÈÄ..

$sql_search = $str . " and wr_option not like '%secret%' "; // ºñ¹Ð±ÛÀº Á¦¿Ü
¢ºÀ§ ¼Ò½º¸¦ ãÀ¸½Å ´ÙÀ½.. ±× ¾Æ·§ÁÙ¿¡..

$sql_search = $str . " and wr_option not like '%adult%' "; // ¼ºÀαÛÀº Á¦¿Ü
¢ºÀ§ ¼Ò½º¸¦ Ãß°¡ÇØ ³Ö½À´Ï´Ù.
¡Øºñ¹Ð±Û ó·³ °Ë»ö Á¶°ÇÀ» Ãß°¡ÇÕ´Ï´Ù. ÇÊ¿ä ¾øÀ¸¸é ÁÖ¼®Ã³¸® ÇÏ½É µÇ°ÚÁÒ.
ÀÛ¾÷ ³¡.