本帖最后由 GrandMaAuto 于 2009-09-30 13:40:10 编辑

解决方案 »

  1.   

    什么叫具体的用法?
    原来是:$content = $_POST['content'];
    现在是:$content = uh($_POST['content']);
    这就是具体?
      

  2.   

    //这个xss过滤函数写得不够全.
    function uh($str)
    {
    $farr = array(
    "/\s /", //過濾多余的空白
    "/<(\/?)(script|i?frame|style|html|body|title|link|meta|\?|\%)([^>]*?)>/is", //过滤 <script 等可能引入恶意内容或恶意改变显示布局的代码,如果不需要插入flash等,还可以加入 <object的过滤
    "/(<[^>]*)on[a-zA-Z] \s*=([^>]*>)/is", //过滤javascript的on事件 );
    $tarr = array(
    " ",
    "", //如果要直接清除不安全的标签,这里可以留空
    "",
    );
    $str = preg_replace( $farr,$tarr,$str);
    return $str;
    } echo uh("abc<script>defg</script><a href='javascript:alert(\"hello world\")'>click me</a>eeee");
      

  3.   


    谢谢你的帮忙 IFRAME , SCRIPT 是执行不了 可是连结裡面的 JAVASCRIPT 还是可以用 请问这会造成安全性问题吗