用于清理输入的.NET库?

Dan*_*olt 12 .net security sanitization

是否有任何经过全面测试的.NET库来清理脚本/ sql注入等内容的输入?

Tim*_*ugh 9

我喜欢使用Microsoft AntiXSS库.它是免费的,非常容易使用.

对于SQL注入,我总是使用参数.同样,它们易于使用,我不喜欢试图逃避特殊字符.如果你问我,这是一个灾难的秘诀.


小智 8

SQL注入和跨站点脚本(也称为XSS或脚本注入)是不同的问题.

1)SQL注入非常简单,总是使用参数化查询(SQLParameter)并且很难在T-SQL存储过程中尽量不做sp_exec @query..Net参数化查询无法防止此二阶注入.

2)XSS更难以普遍缓解,因为有很多地方可以将JavaScript插入到HTML文档中.使用AntiXSS编码用户数据的建议是正确的.在将用户数据插入输出文档之前使用此库.不幸的是,如果您使用ASP.Net服务器控件编码所有数据可能会导致双重编码和显示工件.发生这种情况是因为某些控件属性会编码数据而其他控制属 请参阅此表以查找默认编码的属性.在分配给任何不编码的属性之前,请使用Anti-XSS.


Mit*_*eat 6

使用参数化命令,而不是尝试清理字符串,以防止SQL注入.