日期:2014-05-18  浏览次数:20457 次

求过滤危险字符函数,万分感谢!!!
我的过滤字符函数:
public   static   string   HTMLEncode(string   fString)
        {
                if   (fString   !=   string.Empty)
                {
                        ///替换尖括号
                        fString.Replace( " < ",   "&lt; ");
                        fString.Replace( "> ",   "&rt; ");
                        ///替换引号
                        fString.Replace(((char)34).ToString(),   "&quot; ");
                        fString.Replace(((char)39).ToString(),   "&#39; ");
                        ///替换空格
                        fString.Replace(((char)13).ToString(),   " ");
                        ///替换换行符
                        fString.Replace(((char)10).ToString(),   " <BR>   ");
                }
                return   (fString);
        }

似乎没什么用处,至少单引号没有被过滤。我的错误处理:
Response.Write( " <script> window.alert( ' "   +   HTMLEncode(ex.Message)   +   " ') </script> ");
当错误提示中有单引号就不会弹出提示框。

------解决方案--------------------
fString.Replace( " ' ", " ")把字符中出现的单引号过滤掉就OK
最好就用把要过滤的特殊字符保存在一下数组中。。。
最安全的方法是用存储过程来向数据库中查询、添加、删除数据。。。。