文章提交数据库前进行过滤,在存入数据库。
比如strip_tags

解决方案 »

  1.   

    http://htmlpurifier.org/你说的叫CSS(XSS)攻击。除了将所有特殊字符实体化或者替换为全角什么的,否则要过滤掉所有是不可能的。这个工程也在不断更新,以适应严酷的网络环境-_-#
      

  2.   

    如果输入的是<javascript > </javascritp>之类的, 〈和〉没有有转化成html代码可以试试这个
    $text=preg_replace('|<javascript.*?>.*?</javascript>|is','',$text);
      

  3.   

    function safe_convert($string, $html=0, $filterslash=0) { //Words Filter
    if ($html==0) {
    $string=htmlspecialchars($string, ENT_QUOTES);
    $string=str_replace("<","&lt;",$string);
    $string=str_replace(">","&gt;",$string);
    if ($filterslash==1) $string=str_replace("\\", '&#92;', $string);
    } else {
    $string=addslashes($string);
    if ($filterslash==1) $string=str_replace("\\\\", '&#92;', $string);
    }
    $string=str_replace("\r","<br/>",$string);
    $string=str_replace("\n","",$string);
    $string=str_replace("\t","&nbsp;&nbsp;",$string);
    $string=str_replace("  ","&nbsp;&nbsp;",$string);
    $string=str_replace('|', '&#124;', $string);
    $string=str_replace("&amp;#96;","&#96;",$string);
    $string=str_replace("&amp;#92;","&#92;",$string);
    $string=str_replace("&amp;#91;","&#91;",$string);
    $string=str_replace("&amp;#93;","&#93;",$string);
    return $string;
    }