1,所有用户输入的地方都不能信认,前台后台并行验证,防止对方模似提交。
2,根据需要,如果你想把备注显示出HTML的效果,可以不做处理。但是可以过滤脚本信息,一般备注型只保留常用标签,使用正则过滤。
3,写一个请求工具类,整个项目的请求参数都要通过这个类的安全函数,在需要是整型,或字符型作出转换,并过滤相应安全字符,如SQL注入等。
4,如果是前台,用户一般采用Cookie,不采用ViewState编程方式,这样影响速度。
防止不信认的数据需要做的工作有
1、设置输入框最大输入字符数(即设置文本框的MaxLength属性)。
2、确定输入框输入的数据类型。客户端用JS验证,加服务器端验证。
3、对于输入的是字符串数据时,需要有服务器端对输入的数据进行HTML编码再存入数据库或使用(为防止脚本注入)
4、为防止SQL注入,多用参数形式的存储过程来跟数据库交互(即在存储过程中也不要用SQL拼凑),如一定要用SQL拼凑执行SQL语句,那在数据拼凑前进行SQL关键字过滤。
5、对于URI传过来的参数,也要对其进行数据类型验证和HTML编码。