2011-10-13 64 views
0

我是否需要采取一些额外措施(编码或其他)来使数据安全地进出SQL Server?在.NET中安全地将数据插入到数据库中

我的意思是我有一个SQL Server表中的xml列,存储任何可能有恶意的序列化文本数据。那么我需要做编码,把文本放入CDATA标签还是别的?或者SQL Server和.NET序列化程序为我执行所有操作?

我试图通过一些恶意数据,如value='<b><i>Hi, I said 'this won't work'... I'm p&k</i></b>和类似的东西似乎工作。

我需要关心它还是应该保持原样?

+4

向我们展示你现在用的存储数据的一些代码,你会得到答案,如果这是安全与否。 –

回答

0

如果您是通过与SQL串接值加在一起构建SQL INSERT语句,那么你就错了。

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

0

如果你的问题是“我可以在SQL Server XML列中插入什么东西,会打破SQL Server”,那么答案应该是“可能不是”或“是的,但我会负责任地告诉微软关于它并等待修复,而不是将它发布到SO上“

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