其他ASP.NET安全最佳实践是什么?
到目前为止已确定列于此处:
在将应用程序移至生产环境时,始终生成新的加密密钥和管理员密码.
切勿直接或以加密形式存储密码.始终存储单向散列密码.
始终将连接字符串存储在Web.config的标记中,并使用受保护的配置提供程序(RSA或DPAPI)在配置部分中对其进行加密.见这里的例子
使用具有最小权限的用户ID连接到SQL Server或您正在使用的数据库.例如,如果您只是从某个应用程序模块执行存储过程,那么您必须创建一个只具有执行权限的用户ID.
如果要在页面上使用基于角色的安全性,请使用PrincipalPermission.
[PrincipalPermission(SecurityAction.Demand, Role="Admin")]
public class AdminOnlyPage : BasePageClass
{
// ...
}始终使用参数来防止SQL查询中的SQL 注入.
始终在Web配置中保留customErrors,以使您将错误/异常设为私有
<customErrors mode ="On"defaultRedirect ="MyErrorPage.htm"/>
在Web应用程序中,始终验证用户对html标记或任何脚本的输入.
切勿存储敏感信息,例如cookie中的密码.