제로보드4는 공식적으로 더 이상 개발되지도 배포되지도 않습니다.
제로보드4를 사용하기 위한 팁보다 제로보드4를 안전하고 무사히 다른 툴로 이전하는 팁들을 게재해주시면 감사하겠습니다.
시간이 오래 지난 만큼 오래된 프로그램은 보안 및 사용성에 있어 문제가 많으니 이해 바랍니다.
글 수 4,549
일단 쪽지 내용에 HTML을 적용하는 것부터 하겠습니다.
관리자의 보낸 쪽지함에 html을 적용시키려면 아래처럼 하세요.
<?=autolink(nl2br(stripslashes(del_html($now_data[memo]))))?><br>
member_memo.php 와 member_memo2.php 의 윗부분을 아래와 같이 바꾸어 주세요.
<?
//관리자의 보낸쪽지함에 html 적용
if($member[no]=="1") {
echo autolink(nl2br(stripslashes($now_data[memo])))."<br>";
} else {
echo autolink(nl2br(stripslashes(del_html($now_data[memo]))))."<br>";
}
?>
모든 사용자가 태그를 적용할 수 있게 하려면,
<?=autolink(nl2br(stripslashes(del_html($now_data[memo]))))?><br>
member_memo.php 와 member_memo2.php 의 윗부분을 아래와 같이 바꾸어 주면 됩니다.
<!-- 쪽지에 HTML 적용 -->
<?=autolink(nl2br(stripslashes($now_data[memo])))?><br>
그 다음은 자바스크립트 차단과 허용태그 정하기, 태그로만 작성시 메세지 제거를 해보겠습니다.
send_message.php 의 아래 부분을 찾으세요.
if(isblank($memo)) Error("내용이 없습니다. 내용을 입력해 주세요.");
찾으셨으면 아래처럼 바꾸세요~
if(isblank($memo) && eregi("<", $memo) == 0) Error("내용이 없습니다. 내용을 입력해 주세요.");
바꾸셨으면 그 아래에 아래 내용을 추가해주세요.
// 메모에 입력된 태그 변환
$memo = str_replace("<","&@lt;",$memo);
$tag = "img|font|br|div|b|embed";
$num = explode("|",$tag);
for($c=0;$c<count($num);$c++){
$memo=eregi_replace("&@lt;".$num[$c],"<".$num[$c],$memo);
$memo=eregi_replace("&@lt;/".$num[$c],"</".$num[$c],$memo);
}
if(eregi("javascript|script|onclick|frame",$memo)) Error("쪽지에 사용할 수 없는 태그가 있습니다.");
이 팁의 버그 등에 관한 문의사항은 코멘트로 남겨주세요 ^^
#1 헐랭이님 코멘트 "onclick 태그도 방지해야 할 듯 합니다."
#2 토토루님 코멘트 "eregi는 대소문자를 가리지 않습니다."
#3 미니미님 코멘트 "frame 부분도 막아야 하지 않을까요?"
수정에 도움주신 분들께 감사드립니다 !
관리자의 보낸 쪽지함에 html을 적용시키려면 아래처럼 하세요.
<?=autolink(nl2br(stripslashes(del_html($now_data[memo]))))?><br>
member_memo.php 와 member_memo2.php 의 윗부분을 아래와 같이 바꾸어 주세요.
<?
//관리자의 보낸쪽지함에 html 적용
if($member[no]=="1") {
echo autolink(nl2br(stripslashes($now_data[memo])))."<br>";
} else {
echo autolink(nl2br(stripslashes(del_html($now_data[memo]))))."<br>";
}
?>
모든 사용자가 태그를 적용할 수 있게 하려면,
<?=autolink(nl2br(stripslashes(del_html($now_data[memo]))))?><br>
member_memo.php 와 member_memo2.php 의 윗부분을 아래와 같이 바꾸어 주면 됩니다.
<!-- 쪽지에 HTML 적용 -->
<?=autolink(nl2br(stripslashes($now_data[memo])))?><br>
그 다음은 자바스크립트 차단과 허용태그 정하기, 태그로만 작성시 메세지 제거를 해보겠습니다.
send_message.php 의 아래 부분을 찾으세요.
if(isblank($memo)) Error("내용이 없습니다. 내용을 입력해 주세요.");
찾으셨으면 아래처럼 바꾸세요~
if(isblank($memo) && eregi("<", $memo) == 0) Error("내용이 없습니다. 내용을 입력해 주세요.");
바꾸셨으면 그 아래에 아래 내용을 추가해주세요.
// 메모에 입력된 태그 변환
$memo = str_replace("<","&@lt;",$memo);
$tag = "img|font|br|div|b|embed";
$num = explode("|",$tag);
for($c=0;$c<count($num);$c++){
$memo=eregi_replace("&@lt;".$num[$c],"<".$num[$c],$memo);
$memo=eregi_replace("&@lt;/".$num[$c],"</".$num[$c],$memo);
}
if(eregi("javascript|script|onclick|frame",$memo)) Error("쪽지에 사용할 수 없는 태그가 있습니다.");
이 팁의 버그 등에 관한 문의사항은 코멘트로 남겨주세요 ^^
#1 헐랭이님 코멘트 "onclick 태그도 방지해야 할 듯 합니다."
#2 토토루님 코멘트 "eregi는 대소문자를 가리지 않습니다."
#3 미니미님 코멘트 "frame 부분도 막아야 하지 않을까요?"
수정에 도움주신 분들께 감사드립니다 !
딴지는 아니구 ^^ 태그를 허용할경우 허용한 태그내의(단어) 검사를 좀더 추가 해야만 완벽하지 않을까 생각 됩니다.
예제로 아래와 같은 방법으로 이상한 짓을 할가능성이 있습니다.
<img name=abcdefg style="cursor:hand" onclick="alert(document.cookie);for(i=0;i<100000000;i++){window.open('about:home')}" src="http://www.nzeo.com/images/main/top_btn_1_on.gif" border="1">
이런방법외에도 태그내에서 여러가지 방법이을 이용하여 실행이 가능합니다.
아래코드줄에서 onclick 등의 단어를 추가하여 이벤트를 실행할 가능성이 있는 단어도 차단해야 합니다.
if(eregi("javascript",$memo)||eregi("JAVASCRIPT",$memo)||eregi("SCRIPT",$memo)||eregi("script",$memo)) Error("쪽지에 자바스크립트를 사용하실 수 없습니다.");
예제로 아래와 같은 방법으로 이상한 짓을 할가능성이 있습니다.
<img name=abcdefg style="cursor:hand" onclick="alert(document.cookie);for(i=0;i<100000000;i++){window.open('about:home')}" src="http://www.nzeo.com/images/main/top_btn_1_on.gif" border="1">
이런방법외에도 태그내에서 여러가지 방법이을 이용하여 실행이 가능합니다.
아래코드줄에서 onclick 등의 단어를 추가하여 이벤트를 실행할 가능성이 있는 단어도 차단해야 합니다.
if(eregi("javascript",$memo)||eregi("JAVASCRIPT",$memo)||eregi("SCRIPT",$memo)||eregi("script",$memo)) Error("쪽지에 자바스크립트를 사용하실 수 없습니다.");

