在.NET中安全地将数据插入数据库

时间:2011-10-13 18:01:45

标签: .net sql-server xml security serialization

我是否需要采取一些额外措施(编码或smth。其他)以使数据安全地传入和传出SQL Server?

我的意思是我在SQL Server表中有一个xml列,用于存储任何可能是恶意的序列化文本数据。那么我需要进行编码,将文本放入CDATA标签或其他吗?或者SQL Server和.NET序列化程序是否为我采取了所有操作?

我试图传递一些恶意数据,例如value='<b><i>Hi, I said 'this won't work'... I'm p&k</i></b>和类似的,一切似乎都有效。

我是否需要关注它,还是应该保留所有内容?

2 个答案:

答案 0 :(得分:0)

如果您通过将值与SQL连接来构造SQL INSERT语句,那么您做错了。

如果您的SQL具有值的占位符,并且您的数据库接口库允许您提供参数,并且您的库构造并执行插入,那么您不必担心。

答案 1 :(得分:0)

如果您的问题是“我可以在将破坏SQL Server ”的SQL Server XML列中插入内容,那么答案应该是“可能不是”或“是的,但我要去负责任地告诉微软有关它并等待修复,而不是发布在SO“

另一方面,如果问题是“我可以在SQL Server XML列中插入会破坏我的应用程序,或者使用该数据的其他应用程序”,那么它取决于这些应用是什么。 XML本身是无害的,但是您的软件或使用该数据的其他软件(Web浏览器等)可能存在您需要考虑的漏洞。