C# 的安全建议

只是列举了 C# 开发人员需要知道的一些常见问题,有兴趣的朋友可以看下。

使用 checked 关键字控制整型算术运算和转换的溢出检查上下文。

始终对参数使用最严格的数据类型。例如,在将一个值传入描述数据结构大小的方法时,应使用无符号整数而不是整数。

不要根据文件名作出决定。文件名可以用多种不同的方式表示,因而检测是否有特定文件时可能会跳过该文件。

千万不要将密码或其他敏感信息硬编码到应用程序中。

始终验证用于生成 SQL 查询的输入。

验证传入方法的所有输入。System.Text.RegularExpressions 命名空间中的正则表达式方法对于确认输入(如电子邮件地址)的格式是否正确很有用。

不要显示异常信息:它会给任何潜在的攻击者提供有价值的线索。

确保应用程序在最低的可能特权下运行时能够正常工作。少数应用程序要求用户作为管理员登录。

不要使用自己的加密算法,应使用 System.Security.Cryptography 类。

为程序集指定强名称。

不要在 XML 或其他配置文件中存储敏感信息。

仔细检查包装本机代码的托管代码。确保本机代码是安全的,尤其是在防止缓冲区溢出方面。

在使用从应用程序之外传入的委托时应保持谨慎。

对程序集运行 FxCop 以确保符合 Microsoft .NET Framework 设计准则。FxCop 还可以查找 200 多种代码缺陷并针对这些代码缺陷发出警告。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值