.Net DbCommand Sanitize Input

时间:2011-12-06 13:40:56

标签: c# .net sql-server

我正在使用CMS,并希望在输入保存到数据库之前删除从管理后端提交的所有控制字符(BEL,NUL,LF,FF)。每次在代码中进行保存时,我都不想调用方法来执行此操作,而是希望执行一次。

我们通过包装DbCommand的类进行所有数据库访问。我认为循环遍历所有参数的值并调用剥离控制字符的方法以便它在一个地方实现并且开发人员不必记住将该方法用于新数据保存代码将是很好的。

我疯了吗?这可能吗?如果不是最好的方法是什么?

2 个答案:

答案 0 :(得分:0)

不知道你的设计,意图等等。

听起来不错。只需在循环中调用Regex.Replace()即可。你也可以把所有的字符。您希望在表格或配置文件中删除/替换它们,以便它们不会被硬编码并且很容易更新。

答案 1 :(得分:0)

输入清理由IDbCommand实施完成。如果你想对参数字符串值执行更多的工作,为什么不实现一个decorator来实现IDbCommand并在将执行方法委托给内部之前执行验证?