gpt4 book ai didi

c# - 将数据存储到 SQL,编码与否?

转载 作者:太空狗 更新时间:2023-10-30 00:54:36 25 4
gpt4 key购买 nike

最佳做法是什么?我正在制作一个 ASP.NET 站点,用户可以在其中输入要存储在 SQL 数据库中的文本数据。我正在使用 HttpUtility.HTNLEncode() 来存储数据,并使用 HTMLDecode 来显示它。

这很好用,但搜索(选择或自由文本)要困难得多。用户应该能够输入包含 <、"、' 和任何其他有问题的字符的文本。

最佳做法是什么?存储未编码的数据?那我怎样才能降低注入(inject)的风险呢?

最佳答案

始终以未编码的方式将用户输入存储在数据库中,并始终在输出之前对来自数据库的用户输入进行编码。

您还应该在保留之前过滤/验证用户输入。

  • 输入:用户输入 -> 验证/过滤 -> 保存到数据库
  • 输出:来自数据库的内容->编码->输出到客户端

这是使用和重用用户数据的唯一合理方式。

另见 http://msdn.microsoft.com/en-us/library/t4ahd590%28v=vs.80%29.aspx#cpconbestsecuritypracticesforwebapplicationsanchor4以及Should HTML be encoded before being persisted?

关于c# - 将数据存储到 SQL,编码与否?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12280807/

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