由于是 P/Invoke 方法,因此,应在名为 NativeMethods、SafeNativeMethods 或 UnsafeNativeMethods 的类中定义 'Test.inet_addr(string)'。
为了降低安全风险,请将参数 'ip' 封送为 Unicode,方法是将 DllImport.CharSet 设置为 CharSet.Unicode,或者将该参数显式封送为 UnmanagedType.LPWStr。如果您需要将该字符串封送为 ANSI 或者与系统相关的编码,请显式指定 MarshalAs,并设置 BestFitMapping=false;为了提高安全性,还应设置 ThrowOnUnmappableChar=true。
由于是 P/Invoke 方法,因此,应在名为 NativeMethods、SafeNativeMethods 或 UnsafeNativeMethods 的类中定义 'Test.SendARP(int, int, ref long, ref int)'。
可以在方法 'EFinance_ImportBill.ExcelDataSource(string)' 中多次释放对象 'conn'。若要避免生成 System.ObjectDisposedException,不应对一个对象多次调用 Dispose。: Lines: 131
传递给 'EFinance_ImportBill.ExcelDataSource(string)' 中的 'OleDbDataAdapter.OleDbDataAdapter(string, string)' 的查询字符串可能包含以下变量 'al[0]'。如果其中的任意变量可能来自用户输入,请考虑使用存储过程或参数化 SQL 查询,而不是通过字符串串联来生成查询。
可以在方法 'EFinance_ImportSample.ExcelDataSource(string)' 中多次释放对象 'conn'。若要避免生成 System.ObjectDisposedException,不应对一个对象多次调用 Dispose。: Lines: 268
传递给 'EFinance_ImportSample.ExcelDataSource(string)' 中的 'OleDbDataAdapter.OleDbDataAdapter(string, string)' 的查询字符串可能包含以下变量 'al[0]'。如果其中的任意变量可能来自用户输入,请考虑使用存储过程或参数化 SQL 查询,而不是通过字符串串联来生成查询。
可以在方法 'EDelivery_DeliveredImportUpload.ExcelDataSource(string)' 中多次释放对象 'conn'。若要避免生成 System.ObjectDisposedException,不应对一个对象多次调用 Dispose。: Lines: 202
传递给 'EDelivery_DeliveredImportUpload.ExcelDataSource(string)' 中的 'OleDbDataAdapter.OleDbDataAdapter(string, string)' 的查询字符串可能包含以下变量 'al[0]'。如果其中的任意变量可能来自用户输入,请考虑使用存储过程或参数化 SQL 查询,而不是通过字符串串联来生成查询。
可以在方法 'plug_oImports.ExcelDataSource(string)' 中多次释放对象 'conn'。若要避免生成 System.ObjectDisposedException,不应对一个对象多次调用 Dispose。: Lines: 112
传递给 'plug_oImports.ExcelDataSource(string)' 中的 'OleDbDataAdapter.OleDbDataAdapter(string, string)' 的查询字符串可能包含以下变量 'al[0]'。如果其中的任意变量可能来自用户输入,请考虑使用存储过程或参数化 SQL 查询,而不是通过字符串串联来生成查询。
可以在方法 'EAfterSale_AfterSaleImportUpload.ExcelDataSource(string)' 中多次释放对象 'conn'。若要避免生成 System.ObjectDisposedException,不应对一个对象多次调用 Dispose。: Lines: 145
传递给 'EAfterSale_AfterSaleImportUpload.ExcelDataSource(string)' 中的 'OleDbDataAdapter.OleDbDataAdapter(string, string)' 的查询字符串可能包含以下变量 'al[0]'。如果其中的任意变量可能来自用户输入,请考虑使用存储过程或参数化 SQL 查询,而不是通过字符串串联来生成查询。
将 P/Invoke 移动到 NativeMethods 类
此类型包含具有 DllImport 特性的成员。具有 DllImport 特性的成员应包含在名为 NativeMethods、SafeNativeMethods 或 UnsafeNativeMethods 的类中。
由于是 P/Invoke 方法,因此,应在名为 NativeMethods、SafeNativeMethods 或 UnsafeNativeMethods 的类中定义 {0}。
http://msdn.microsoft.com/library/ms182161.aspx
[none]
CriticalWarning
指定对 P/Invoke 字符串参数进行封送处理
在将字符串封送为 ANSI (在 Win9x 上为 Auto)时,某些字符可能会改变。如果启用了最佳匹配映射,则采用 Unicode 编码时显示样式不同的字符串将封送到相同的 ANSI 字符串,这可能会导致错误的安全决策。禁用最佳匹配映射会降低此风险,因为所有没有等效项的字符都将映射到“?”。另外,请注意,CharSet.Ansi 是所有字符串的默认封送设置;Unicode 封送必须显式指定为 DllImport 或 StructLayout 的 CharSet 设置,或者指定为具有 Unicode (或与系统相关的) UnmanagedType 的 MarshalAs 特性。
为了降低安全风险,请将参数 {0} 封送为 Unicode,方法是将 DllImport.CharSet 设置为 CharSet.Unicode,或者将该参数显式封送为 UnmanagedType.LPWStr。如果您需要将该字符串封送为 ANSI 或者与系统相关的编码,请显式指定 MarshalAs,并设置 BestFitMapping=false;为了提高安全性,还应设置 ThrowOnUnmappableChar=true。
http://msdn.microsoft.com/library/ms182319.aspx
[none]
Error
不要多次释放对象
可以多次调用正确实现的 Dispose 方法,而不会引发异常。但是,并不保证所有情况下都会如此。若要避免生成 System.ObjectDisposedException,您不应对一个对象多次调用 Dispose。
可以在方法 {1} 中多次释放对象 {0}。若要避免生成 System.ObjectDisposedException,不应对一个对象多次调用 Dispose。: Lines: 145
RuleOwner
http://msdn.microsoft.com/library/ms182334.aspx
Warning
检查 SQL 查询是否存在安全漏洞
通过用户输入生成的 SQL 命令字符串容易受到 SQL 注入式攻击。Microsoft SQL Server 和其他数据库服务器支持存储过程和参数化 SQL 查询,这将降低受到注入式攻击的风险。
传递给 {1} 中的 {0} 的查询字符串可能包含以下变量 {2}。如果其中的任意变量可能来自用户输入,请考虑使用存储过程或参数化 SQL 查询,而不是通过字符串串联来生成查询。
RuleOwner
http://msdn.microsoft.com/library/ms182310.aspx
Warning
类别
确定性
全部折叠
检查 ID
错误
错误
全部展开
帮助
行
消息
[位置未存储在 Pdb 中]
项目
解析
规则
规则文件
规则说明
源
状态
目标
警告
警告
Code Analysis 报告