자동등록방지 코드이미지 엑박에 관련된 질문입니다. 정보
자동등록방지 코드이미지 엑박에 관련된 질문입니다.
본문
아래 주소에서 방명록 스킨을 다운받아 설치했습니다.
http://www.sir.co.kr/bbs/board.php?bo_table=g4_skin&wr_id=99625&sca=&sfl=wr_subject&stx=%B9%E6%B8%ED%B7%CF&sop=and
회원 로그인할 경우 작동이 잘되고, 비회원일 경우 "정상적인 접근...."이라는 오류 메시지가 떠서 그누보드 질문답변, 활용팁을 검색해보니 자동방지 코드가 없어서 된 것임을 알았습니다.
그래서 해당 스킨의 wrrte.skin.php에다가 basic 스킨에서 소스를 복사해서 자동방지 코드를 삽입했습니다. 그 결과 자동등록방지 코드가 엑박으로만 뜹니다.
뭐가 뭔지를 모르겠습니다. 소스는 아래와 같습니다.
고수님들 한수 가르침 부탁드립니다.
---------------------------------------------------------
<?
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
// 방명록이미지 아이콘 개수
// 0번부터 14번까지 있으면..
$count = 20;
?>
<style type="text/css">
<!--
.w_padding { PADDING-LEFT: 12px; PADDING-BOTTOM: 4px; PADDING-TOP: 4px; }
.w_padding3 { PADDING-LEFT: 2px; PADDING-RIGHT: 2px; PADDING-BOTTOM: 3px; PADDING-TOP: 3px; }
.w_hand { cursor:pointer; }
-->
</style>
<script language="JavaScript">
// 글자수 제한
var char_min = parseInt(<?=$write_min?>); // 최소
var char_max = parseInt(<?=$write_max?>); // 최대
</script>
<!-- 김선용 2005.4 - FF(불여우) 에서는 innerHTML 사용시 폼이 <table> 아래에 있으면 인식하지 못합니다. -->
<form name="fwrite" method="post" action="javascript:fwrite_check(document.fwrite);" enctype="multipart/form-data" autocomplete="off" style="margin:0">
<table width="<?=$width?>" border="0" cellspacing="0" cellpadding="0">
<tr>
<td align="center">
<table width="90%" align=center cellpadding=0 cellspacing=0>
<input type=hidden name=w value="<?=$w?>">
<input type=hidden name=bo_table value="<?=$bo_table?>">
<input type=hidden name=wr_id value="<?=$wr_id?>">
<input type=hidden name=sfl value="<?=$sfl?>">
<input type=hidden name=stx value="<?=$stx?>">
<input type=hidden name=spt value="<?=$spt?>">
<input type=hidden name=sst value="<?=$sst?>">
<input type=hidden name=sod value="<?=$sod?>">
<input type=hidden name=page value="<?=$page?>">
<input type=hidden name=wr_subject value="<?=$board[bo_subject]; $wr_id; ?>">
<tr><td colspan="6" height="1" style="background: url('<?=$board_skin_path?>/img/ver3_bottom_dotline.gif') left;"></td></tr>
<tr>
<td width="100%" height=4 colspan=6></td>
</tr>
<tr>
<td width="100%" colspan=6 align=center>
<!-- 공지사항 시작 -->
<? if($board[bo_10]) { ?>
<table width="100%" height="50" cellpadding=0 cellspacing=0 style="border:1 #e7e7e7 solid" align=center>
<tr>
<td bgcolor=#F9F7F9 style="padding:8" <?=$board[bo_9]?>><?=$board[bo_10]?></td>
</tr>
</table>
<? } ?>
<!-- 공지사항 끝 -->
</td>
</tr>
<tr>
<td width="100%" height=10 colspan=6></td>
</tr>
<tr>
<td width="20" height="26"></td>
<td width="75">· 이름</td>
<td width="127" class=w_padding><INPUT class=ed maxLength=20 size=18 name=wr_name itemname="이름" required value="<?=$member[mb_nick]?>"></TD>
<td width="75">· 이메일</td>
<td width="198" class=w_padding><INPUT class=ed size=32 name=wr_email itemname="이메일" value="<?=$email?>"></td>
<td width="20"></td>
</tr>
<tr><td colspan="6" height="1" style="background: url('<?=$board_skin_path?>/img/ver3_dot.gif') left;"></td></tr>
<? if ($is_password) { ?>
<tr>
<td width="20" height="26"></td>
<td width="75">· 패스워드</td>
<td width="127" class=w_padding><INPUT class=ed type=password maxLength=20 size=18 name=wr_password itemname="패스워드" required value="<?=$password?>" <?=$password_required?>></TD>
<td width="75">· 홈페이지</td>
<td width="198" class=w_padding><INPUT class=ed size=32 name=wr_homepage itemname="홈페이지" value="<?=$homepage?>"></TD>
<td width="20"></td>
</tr>
<tr><td colspan="6" height="1" style="background: url('<?=$board_skin_path?>/img/ver3_dot.gif') left;"></td></tr>
<? } ?>
<!-- 자동등록방지 삽입 시작 -->
<? if ($is_guest) { ?>
<tr>
<td width="20" height="26"></td>
<td width="100">· 자동등록방지</td>
<td width="120" class=w_padding><img id='kcaptcha_image' border='0' width=120 height=60 onclick="imageClick();" style="cursor:pointer;" title="글자가 잘안보이는 경우 클릭하시면 새로운 글자가 나옵니다."></td>
<td width="75">· 코드입력</td>
<? } ?>
<? if ($is_guest) { ?>
<td width="198" class=w_padding><input class='w_input' type=input size=28 name=wr_key itemname="자동등록방지" required></TD>
<td width="20"></td>
</tr>
<!-- 자동등록방지 삽입 끝 --->
<tr><td colspan="6" height="1" style="background: url('<?=$board_skin_path?>/img/ver3_dot.gif') left;"></td></tr>
<? } ?>
<tr><td colspan="6" height="1" style="background: url('<?=$board_skin_path?>/img/ver3_dot.gif') left;"></td></tr>
<tr>
<td width="20"></td>
<td colspan="4" align="center">
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="450" class=w_padding3 rowspan="2" valign=top>
<span style="cursor: pointer;" onclick="textarea_decrease('wr_content', 5);"><img src="<?=$board_skin_path?>/img/up.gif"></span>
<span style="cursor: pointer;" onclick="textarea_original('wr_content', 5);"><img src="<?=$board_skin_path?>/img/start.gif"></span>
<span style="cursor: pointer;" onclick="textarea_increase('wr_content', 5);"><img src="<?=$board_skin_path?>/img/down.gif"></span><BR>
<textarea id="wr_content" name="wr_content" class=tx style='width:100%; word-break:break-all;' rows=10 itemname="내용" required
<? if ($write_min || $write_max) { ?>onkeyup="check_byte('wr_content', 'char_count');"<?}?>><?=$content?></textarea>
<? if ($write_min || $write_max) { ?><script language="javascript"> check_byte('wr_content', 'char_count'); </script><?}?></td>
<td width="110" height="26" class=w_padding3 align="center" valign=top></a>
</td>
</tr>
<tr>
<td width="110" class=w_padding3 align="center" valign=bottom>
<script language="javascript">
function back_c(){
if (document.fwrite.wr_link1.value=="0"){
document.face.src="<?=$board_skin_path?>/icon/icon0.jpg";
} else {
document.face.src="<?=$board_skin_path?>/icon/"+document.fwrite.wr_link1.value+".gif";
}
}
function clearField(field){
if (field.value == field.defaultValue) {
field.value = "";
}
}
function checkField(field){
if (field.value == "") {
field.value = field.defaultValue;
}
}
</script>
<!-- icon -->
<select name=wr_link1 onchange='back_c();' style='font-family:굴림; font-size:9pt; width:120' valign=top>
<option value=0>아이콘선택</option>
<?
for($j=1;$j<$count;$j++) {
echo "<option value=icon$j>아이콘 $j</option> ";
}
?>
</select>
<!-- icon end -->
<BR>
<a href="javascript:win_open('<?=$board_skin_path?>/view_icon.php', 'iconPreview', 'left=20, top=20, width=460, height=512, scrollbars=1');" onfocus='this.blur()' title='아이콘 전체보기'><? if($w=='u') { ?><img name='face' src='<?=$board_skin_path?>/icon/<?=$write[wr_link1]?>.gif' border=0><? } else { ?><img name='face' src='<?=$board_skin_path?>/icon/icon0.jpg' border=0><? } ?></td>
</tr>
</table>
</td>
<td width="20"></td>
</tr>
<tr><td colspan="6" height="1" style="background: url('<?=$board_skin_path?>/img/ver3_dot.gif') left;"></td></tr>
<tr>
<td width="20" height="30"></td>
<td colspan="4" align="center">
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="450" class=w_padding3><? if($is_member) { ?><input type=checkbox value="secret" name="secret" <? if (!$member[mb_id]) echo "onclick=\"javascript:gotologin();\"";?> <?if($mode=="secret"){echo "checked";}?>> 비밀글<? } ?></td>
<td width="110" class=w_padding3 align="center"><INPUT type=image id="btn_submit" src="<?=$board_skin_path?>/img/btn_ok.gif" border=0 accesskey='s'> <a href="./board.php?bo_table=<?=$bo_table?>"><img id="btn_list" src="<?=$board_skin_path?>/img/btn_list.gif" border=0></a></td>
</tr>
</table>
</td>
<td width="20"></td>
</tr>
<tr><td colspan="6" height="1" style="background: url('<?=$board_skin_path?>/img/ver3_dot.gif') left;"></td></tr>
<tr><td colspan="6" ></td></tr>
</table>
</td>
</tr>
</table>
</form>
<script language="Javascript">
with (document.fwrite) {
if (typeof(wr_name) != "undefined")
wr_name.focus();
else if (typeof(wr_subject) != "undefined")
wr_subject.focus();
else if (typeof(wr_content) != "undefined")
wr_content.focus();
if (typeof(ca_name) != "undefined")
if (w.value == "u")
ca_name.value = "<?=$write[ca_name]?>";
if (typeof(wr_link1) != "undefined")
if (w.value == "u")
wr_link1.value = "<?=$write[wr_link1]?>";
}
function html_auto_br(obj)
{
if (obj.checked) {
result = confirm("자동 줄바꿈을 하시겠습니까?\n\n자동 줄바꿈은 게시물 내용중 줄바뀐 곳을<br>태그로 변환하는 기능입니다.");
if (result)
obj.value = "html2";
else
obj.value = "html1";
}
else
obj.value = "";
}
function fwrite_check(f)
{
var s = "";
if (s = word_filter_check(f.wr_subject.value)) {
alert("제목에 금지단어('"+s+"')가 포함되어있습니다");
return;
}
if (s = word_filter_check(f.wr_content.value)) {
alert("내용에 금지단어('"+s+"')가 포함되어있습니다");
return;
}
if (typeof(f.wr_key) != "undefined") {
if (hex_md5(f.wr_key.value) != md5_norobot_key) {
alert("자동등록방지용 글자가 순서대로 입력되지 않았습니다.");
f.wr_key.focus();
return;
}
}
f.action = "./write_update.php";
f.submit();
}
</script>
http://www.sir.co.kr/bbs/board.php?bo_table=g4_skin&wr_id=99625&sca=&sfl=wr_subject&stx=%B9%E6%B8%ED%B7%CF&sop=and
회원 로그인할 경우 작동이 잘되고, 비회원일 경우 "정상적인 접근...."이라는 오류 메시지가 떠서 그누보드 질문답변, 활용팁을 검색해보니 자동방지 코드가 없어서 된 것임을 알았습니다.
그래서 해당 스킨의 wrrte.skin.php에다가 basic 스킨에서 소스를 복사해서 자동방지 코드를 삽입했습니다. 그 결과 자동등록방지 코드가 엑박으로만 뜹니다.
뭐가 뭔지를 모르겠습니다. 소스는 아래와 같습니다.
고수님들 한수 가르침 부탁드립니다.
---------------------------------------------------------
<?
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
// 방명록이미지 아이콘 개수
// 0번부터 14번까지 있으면..
$count = 20;
?>
<style type="text/css">
<!--
.w_padding { PADDING-LEFT: 12px; PADDING-BOTTOM: 4px; PADDING-TOP: 4px; }
.w_padding3 { PADDING-LEFT: 2px; PADDING-RIGHT: 2px; PADDING-BOTTOM: 3px; PADDING-TOP: 3px; }
.w_hand { cursor:pointer; }
-->
</style>
<script language="JavaScript">
// 글자수 제한
var char_min = parseInt(<?=$write_min?>); // 최소
var char_max = parseInt(<?=$write_max?>); // 최대
</script>
<!-- 김선용 2005.4 - FF(불여우) 에서는 innerHTML 사용시 폼이 <table> 아래에 있으면 인식하지 못합니다. -->
<form name="fwrite" method="post" action="javascript:fwrite_check(document.fwrite);" enctype="multipart/form-data" autocomplete="off" style="margin:0">
<table width="<?=$width?>" border="0" cellspacing="0" cellpadding="0">
<tr>
<td align="center">
<table width="90%" align=center cellpadding=0 cellspacing=0>
<input type=hidden name=w value="<?=$w?>">
<input type=hidden name=bo_table value="<?=$bo_table?>">
<input type=hidden name=wr_id value="<?=$wr_id?>">
<input type=hidden name=sfl value="<?=$sfl?>">
<input type=hidden name=stx value="<?=$stx?>">
<input type=hidden name=spt value="<?=$spt?>">
<input type=hidden name=sst value="<?=$sst?>">
<input type=hidden name=sod value="<?=$sod?>">
<input type=hidden name=page value="<?=$page?>">
<input type=hidden name=wr_subject value="<?=$board[bo_subject]; $wr_id; ?>">
<tr><td colspan="6" height="1" style="background: url('<?=$board_skin_path?>/img/ver3_bottom_dotline.gif') left;"></td></tr>
<tr>
<td width="100%" height=4 colspan=6></td>
</tr>
<tr>
<td width="100%" colspan=6 align=center>
<!-- 공지사항 시작 -->
<? if($board[bo_10]) { ?>
<table width="100%" height="50" cellpadding=0 cellspacing=0 style="border:1 #e7e7e7 solid" align=center>
<tr>
<td bgcolor=#F9F7F9 style="padding:8" <?=$board[bo_9]?>><?=$board[bo_10]?></td>
</tr>
</table>
<? } ?>
<!-- 공지사항 끝 -->
</td>
</tr>
<tr>
<td width="100%" height=10 colspan=6></td>
</tr>
<tr>
<td width="20" height="26"></td>
<td width="75">· 이름</td>
<td width="127" class=w_padding><INPUT class=ed maxLength=20 size=18 name=wr_name itemname="이름" required value="<?=$member[mb_nick]?>"></TD>
<td width="75">· 이메일</td>
<td width="198" class=w_padding><INPUT class=ed size=32 name=wr_email itemname="이메일" value="<?=$email?>"></td>
<td width="20"></td>
</tr>
<tr><td colspan="6" height="1" style="background: url('<?=$board_skin_path?>/img/ver3_dot.gif') left;"></td></tr>
<? if ($is_password) { ?>
<tr>
<td width="20" height="26"></td>
<td width="75">· 패스워드</td>
<td width="127" class=w_padding><INPUT class=ed type=password maxLength=20 size=18 name=wr_password itemname="패스워드" required value="<?=$password?>" <?=$password_required?>></TD>
<td width="75">· 홈페이지</td>
<td width="198" class=w_padding><INPUT class=ed size=32 name=wr_homepage itemname="홈페이지" value="<?=$homepage?>"></TD>
<td width="20"></td>
</tr>
<tr><td colspan="6" height="1" style="background: url('<?=$board_skin_path?>/img/ver3_dot.gif') left;"></td></tr>
<? } ?>
<!-- 자동등록방지 삽입 시작 -->
<? if ($is_guest) { ?>
<tr>
<td width="20" height="26"></td>
<td width="100">· 자동등록방지</td>
<td width="120" class=w_padding><img id='kcaptcha_image' border='0' width=120 height=60 onclick="imageClick();" style="cursor:pointer;" title="글자가 잘안보이는 경우 클릭하시면 새로운 글자가 나옵니다."></td>
<td width="75">· 코드입력</td>
<? } ?>
<? if ($is_guest) { ?>
<td width="198" class=w_padding><input class='w_input' type=input size=28 name=wr_key itemname="자동등록방지" required></TD>
<td width="20"></td>
</tr>
<!-- 자동등록방지 삽입 끝 --->
<tr><td colspan="6" height="1" style="background: url('<?=$board_skin_path?>/img/ver3_dot.gif') left;"></td></tr>
<? } ?>
<tr><td colspan="6" height="1" style="background: url('<?=$board_skin_path?>/img/ver3_dot.gif') left;"></td></tr>
<tr>
<td width="20"></td>
<td colspan="4" align="center">
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="450" class=w_padding3 rowspan="2" valign=top>
<span style="cursor: pointer;" onclick="textarea_decrease('wr_content', 5);"><img src="<?=$board_skin_path?>/img/up.gif"></span>
<span style="cursor: pointer;" onclick="textarea_original('wr_content', 5);"><img src="<?=$board_skin_path?>/img/start.gif"></span>
<span style="cursor: pointer;" onclick="textarea_increase('wr_content', 5);"><img src="<?=$board_skin_path?>/img/down.gif"></span><BR>
<textarea id="wr_content" name="wr_content" class=tx style='width:100%; word-break:break-all;' rows=10 itemname="내용" required
<? if ($write_min || $write_max) { ?>onkeyup="check_byte('wr_content', 'char_count');"<?}?>><?=$content?></textarea>
<? if ($write_min || $write_max) { ?><script language="javascript"> check_byte('wr_content', 'char_count'); </script><?}?></td>
<td width="110" height="26" class=w_padding3 align="center" valign=top></a>
</td>
</tr>
<tr>
<td width="110" class=w_padding3 align="center" valign=bottom>
<script language="javascript">
function back_c(){
if (document.fwrite.wr_link1.value=="0"){
document.face.src="<?=$board_skin_path?>/icon/icon0.jpg";
} else {
document.face.src="<?=$board_skin_path?>/icon/"+document.fwrite.wr_link1.value+".gif";
}
}
function clearField(field){
if (field.value == field.defaultValue) {
field.value = "";
}
}
function checkField(field){
if (field.value == "") {
field.value = field.defaultValue;
}
}
</script>
<!-- icon -->
<select name=wr_link1 onchange='back_c();' style='font-family:굴림; font-size:9pt; width:120' valign=top>
<option value=0>아이콘선택</option>
<?
for($j=1;$j<$count;$j++) {
echo "<option value=icon$j>아이콘 $j</option> ";
}
?>
</select>
<!-- icon end -->
<BR>
<a href="javascript:win_open('<?=$board_skin_path?>/view_icon.php', 'iconPreview', 'left=20, top=20, width=460, height=512, scrollbars=1');" onfocus='this.blur()' title='아이콘 전체보기'><? if($w=='u') { ?><img name='face' src='<?=$board_skin_path?>/icon/<?=$write[wr_link1]?>.gif' border=0><? } else { ?><img name='face' src='<?=$board_skin_path?>/icon/icon0.jpg' border=0><? } ?></td>
</tr>
</table>
</td>
<td width="20"></td>
</tr>
<tr><td colspan="6" height="1" style="background: url('<?=$board_skin_path?>/img/ver3_dot.gif') left;"></td></tr>
<tr>
<td width="20" height="30"></td>
<td colspan="4" align="center">
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="450" class=w_padding3><? if($is_member) { ?><input type=checkbox value="secret" name="secret" <? if (!$member[mb_id]) echo "onclick=\"javascript:gotologin();\"";?> <?if($mode=="secret"){echo "checked";}?>> 비밀글<? } ?></td>
<td width="110" class=w_padding3 align="center"><INPUT type=image id="btn_submit" src="<?=$board_skin_path?>/img/btn_ok.gif" border=0 accesskey='s'> <a href="./board.php?bo_table=<?=$bo_table?>"><img id="btn_list" src="<?=$board_skin_path?>/img/btn_list.gif" border=0></a></td>
</tr>
</table>
</td>
<td width="20"></td>
</tr>
<tr><td colspan="6" height="1" style="background: url('<?=$board_skin_path?>/img/ver3_dot.gif') left;"></td></tr>
<tr><td colspan="6" ></td></tr>
</table>
</td>
</tr>
</table>
</form>
<script language="Javascript">
with (document.fwrite) {
if (typeof(wr_name) != "undefined")
wr_name.focus();
else if (typeof(wr_subject) != "undefined")
wr_subject.focus();
else if (typeof(wr_content) != "undefined")
wr_content.focus();
if (typeof(ca_name) != "undefined")
if (w.value == "u")
ca_name.value = "<?=$write[ca_name]?>";
if (typeof(wr_link1) != "undefined")
if (w.value == "u")
wr_link1.value = "<?=$write[wr_link1]?>";
}
function html_auto_br(obj)
{
if (obj.checked) {
result = confirm("자동 줄바꿈을 하시겠습니까?\n\n자동 줄바꿈은 게시물 내용중 줄바뀐 곳을<br>태그로 변환하는 기능입니다.");
if (result)
obj.value = "html2";
else
obj.value = "html1";
}
else
obj.value = "";
}
function fwrite_check(f)
{
var s = "";
if (s = word_filter_check(f.wr_subject.value)) {
alert("제목에 금지단어('"+s+"')가 포함되어있습니다");
return;
}
if (s = word_filter_check(f.wr_content.value)) {
alert("내용에 금지단어('"+s+"')가 포함되어있습니다");
return;
}
if (typeof(f.wr_key) != "undefined") {
if (hex_md5(f.wr_key.value) != md5_norobot_key) {
alert("자동등록방지용 글자가 순서대로 입력되지 않았습니다.");
f.wr_key.focus();
return;
}
}
f.action = "./write_update.php";
f.submit();
}
</script>
댓글 전체