目前程序内很多页面有提供文本框给用户输入数据,因为没有对特殊字符进行控制,会导致进行数据操作时出现错误正寻求解决方案,目前找到了如下几种,但都不是很满意,大家还有没有其他更好的方法?1、在Global.asax 里面过滤
通过在Application_BeginRequest里面中进行判断,判断后如果发现有非法字符,可以人为的抛出一个异常,并转向相应的出错页面。
优点:修改方便,只需要修改Global页面就可以对整站进行控制
缺点:提示不人性化,出现非法字符,只能跳转到出错页面,而当前页面其他操作均被中止2、提供一个基本的类库,每次接收输入数据时都调用类的函数进行判断
优点:安全、稳当,可以统一控制过滤的内容
缺点:需要每次使用都调用,对当前已有程序改动较大3、提供一个JS方法,每次页面输入的时候都调用脚本判断
优点:前台客户端判断,减少对服务段的访问,可以统一控制过滤的内容
缺点:脚本文件本身使用就存在隐患,且对当前已有程序改动较大4、使用特定文本控件,如FilteredTextBox
优点:可以单独的控制每个文本过滤的内容
缺点:需要单独配置每个文本的过滤内容,对当前已有程序改动较大