Ssrs 2008 如何在SQLServer2008R2的SSRS中避免SQL注入攻击?

Ssrs 2008 如何在SQLServer2008R2的SSRS中避免SQL注入攻击?,ssrs-2008,validation,Ssrs 2008,Validation,我需要防止用户输入可能导致数据库故障的字符。我正在对报告使用存储过程。为此,我需要验证textbox参数。任何人请指导我如何才能做到这一点 尽可能限制对报告的访问 使用仅对所需表具有受限只读访问权限的受限SQL Server报告帐户 在合理的情况下,将用户选择限制为下拉列表 如果将报表包装在c#等编程语言中,则可以对输入和参数化查询使用验证器 如果您将ssrs参数直接传递给存储过程,并且担心可能会发生文本注入,请在使用之前传递SQL中意外模式的参数,即,可以检查预期格式为“A3290RE”的用

我需要防止用户输入可能导致数据库故障的字符。我正在对报告使用存储过程。为此,我需要验证textbox参数。任何人请指导我如何才能做到这一点

  • 尽可能限制对报告的访问
  • 使用仅对所需表具有受限只读访问权限的受限SQL Server报告帐户
  • 在合理的情况下,将用户选择限制为下拉列表
  • 如果将报表包装在c#等编程语言中,则可以对输入和参数化查询使用验证器
  • 如果您将ssrs参数直接传递给存储过程,并且担心可能会发生文本注入,请在使用之前传递SQL中意外模式的参数,即,可以检查预期格式为“A3290RE”的用户id是否包含空格,并使用LEN验证其长度,以防止用户输入“A3290RE”或类似“%a%”的名称

只要始终使用参数化查询,永远不要将您自己的SQL语句与用户输入连接在一起并执行它们……另请参见:或仅使用google for
防止SQL注入攻击
,您将获得成千上万的点击率,向您展示如何执行……@marc_,我使用的是参数化查询,而不是连接在我的存储过程中。那么你的意思是说在SSRS中使用文本框来获取参数值不会受到攻击。如果你只使用这些用户输入作为参数值,那么就没有SQL注入风险了