微软官方的一些相关asp.net安全的方案

asp.net安全

脚本注入

若要避免脚本注入攻击,请遵循以下准则:

  • 采用 HtmlEncode 方法对用户输入进行编码,该方法可将 HTML 转换为文本表示形式(例如,将 <b> 转换为 &ltb&gt;),这有助于防止在浏览器中执行标记。

  • 在使用参数对象将用户输入传递给查询时,可以为数据源控件的预查询事件添加处理程序并在这些事件中进行编码。例如,如果处理 SqlDataSource 控件的 Inserting 事件,可以在该事件中,在执行查询之前对参数值进行编码。

  • 如果正在使用带绑定字段的 GridView 控件,则可将 BoundField 对象的 HtmlEncode 属性设置为 true。这会使 GridView 控件在行处于编辑模式下时对用户输入进行编码。

  • 对于可以进入编辑模式的控件,建议您使用模板。例如,GridViewDetailsViewFormViewDataListLogin 控件可以显示可编辑的文本框。但是,除 GridView 控件之外(请参见上一条),这些控件不会自动验证用户输入或对用户输入进行 HTML 编码。因此,建议您为这些控件创建模板,在模板中包括输入控件(例如 TextBox 控件)并添加验证控件。此外,在提取控件的值时,应对其进行编码。

SQL 注入

若要避免 SQL 注入攻击,请遵循以下准则:

  • 不要通过将字符串(尤其是那些包括了用户输入的字符串)串联在一起来创建 SQL 命令,而应当使用参数化查询或存储过程。

  • 如果要创建参数化查询,则可使用参数对象来建立参数的值。有关详细信息,请参见对 SqlDataSource 控件使用参数对数据源控件使用参数

 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值