YesYo.com MintState Forums
뒤로    YesYo.com MintState BBS > Tech > PHP
검색
멤버이름    오토
비밀번호 
 

허용하지 않는 태그 걸러내기, 입력한 태그 재조정

페이지 정보

작성자 MintState 댓글 0건 조회 12,834회 작성일 08-11-10 13:23

본문

허용하지 않는 태그 걸러내기, 입력한 태그 재조정

* 허용하지 않는 태그 걸러내기
nevertag($text);
하시면 $text에 내용중 허용하지 않는 태그는 걸러냅니다
/*

제작자이름 : 무화
제작자메일 : muhwa@yahoo.com
관련사이트 : http://muhwa.webice.co.kr

*/

<? 
function nevertag(&$text){ 
    $nevertag="script|iframe|object|applet|base"; 
     //여기에 불허용 태그를 넣습니다. 막대기로 연결하세요 
    $text = preg_replace("/<(\/?)(".$nevertag.")([^<>]*)?>/i", "&lt;\\1\\2\\3&gt;", $text); 
} 


* 입력한 태그 재조정 - 사용자가 입력한 html 조금은 더 안전하게 만드는 함수
$text="여기에 태그";
safehtml($text);
echo $text;
<? 
function safehtml(&$text){ 
$text=preg_replace_callback("/\<(\/?)(\w+)*([^<>]*)>/" ,"addnoclosetag" ,$text);  
} 

function addnoclosetag($in){  
         $tags=" a img embed font b div center p br "; 
    //허용태그입니다 스페이스바로 연결하세요 
    //첫번째칸과 마지막 칸에 반드시 공백이 있어야 합니다 

       $in[2]=strtolower($in[2]); 
       if (strpos($tags, " ".$in[2]." ")) $add="<"; 
       else $add="<"; 
       if ($in[2]=="a" && !$in[1]) $in[2]="a target=\"_blank\"" ; 
        //링크는 무조건 새창으로 열어야 안전하지 않을까해서요 

    $atts="on|javascript:|vbscript:|tpl:"; 
    //속성중에 허용하지 않는것들입니다 막대기로 연결하세요 
    //이들은 모두 사라집니다 
    //on : 이벤트를 없애기 위해서 , 나머지:링크 유알엘로 부를수 있는 스크립트 언어들입니다 

         $in[3]=preg_replace("/($atts)/i","",$in[3]); 
         return $add."$in[1]$in[2]$in[3]>";  
} 
?>

댓글목록

등록된 댓글이 없습니다.

Total 165건 5 페이지
PHP 목록
번호 제목 글쓴이 조회 날짜
65 MintState 13039 11-03
64 MintState 13001 10-31
63 MintState 12978 11-10
62 MintState 12911 11-10
61 MintState 12907 11-03
60 MintState 12848 10-29
열람중 MintState 12835 11-10
58 MintState 12809 11-03
57 MintState 12633 11-03
56 MintState 12601 10-31
55 MintState 12600 11-10
54 MintState 12556 10-31
53 MintState 12548 11-03
52 MintState 12531 10-29
51 MintState 12530 11-10
50 MintState 12526 11-03
49 MintState 12485 10-28
48 MintState 12475 11-10
47 MintState 12455 11-03
46 MintState 12428 02-23
45 MintState 12321 11-03
44 MintState 12291 10-29
43 MintState 12287 11-17
42 MintState 12280 11-03
41 MintState 12271 10-31
게시물 검색
모바일 버전으로 보기
CopyRight ©2004 - 2024, YesYo.com MintState. ™