你的方法是正确的。就是htmlencode就可以了。

解决方案 »

  1.   

    但是,没有效果啊!script脚本照样执行...我测试过了!能否写一段代码,检测到keyword后面有<script>脚本就替换掉<script>.请高手赐教!
      

  2.   

    是你用的方法错误吧?
    htmlencode了以后,<和>符号都变成&lt;和&gt;了,怎么可能执行呢。另外可以参考下面文章:从客户端检测到有潜在危险的Request.Form值
      

  3.   

    //过滤替换非法字符
    function tree_replacehtml(str)
    {
        var s = "";
        if (str.length == 0) return "";
        for (var i = 0; i < str.length; i++)
        {
            switch (str.substring(i, i+1))
            {
                case "<": s += "&lt;"; break;
                case ">": s += "&gt;"; break;
                case "&": s += "&amp;"; break;
                case " ": s += "&nbsp;"; break;
                case "\'": s += "&#39;"; break;
                case "\"": s += "&quot;"; break;
                case "\n": s += "<br>"; break;
                default: s += str.substring(i, i+1); break;
            }
        }
        return s;
    }
      

  4.   

    htmlencode就可以了。除非你再次输出到页面的时候又用到了htmldecode或还原成js