gpt4 book ai didi

c# - 在 Sql Server 中将 xml 文档作为存储过程的参数传递是否安全?

转载 作者:太空宇宙 更新时间:2023-11-03 12:51:13 25 4
gpt4 key购买 nike

在存储过程(使用 c#)中传递 xml 之前,我需要做一些额外的检查吗?

最佳答案

不知道你到底要做什么,只有一般的想法:

将 XML 从 C# 应用程序传递到存储过程意味着传递字符串。该字符串在进入您的 SP 时被强制转换为 XML(如果参数声明为 XML)。只要您的 XML 有效,这就应该有效。

1) 如果你想确保这个字符串不能在途中被改变:你可以在你的应用程序中创建一个散列码,并在你的 SP 中检查这个散列码。此哈希码可能会嵌入到 XML 中,或作为附加参数传输,或在额外的过程中与 ID 一起传输以获得额外的安全性。

2) 您想要确保 XML 有效:这不需要额外的努力,只要您在 C# 中使用“真正的”XML 对象并且不使用 StringBuilder 或类似工具创建 XML。

3) 您要确保您的 XML 遵循专用模式:使用 XSD 检查您的 XML 是否在结构上符合“契约”。您可以在您的应用程序或 SQL Server 或两者中执行此操作。

关于c# - 在 Sql Server 中将 xml 文档作为存储过程的参数传递是否安全?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35455638/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com