ASP.NET安全最佳实践

前端之家收集整理的这篇文章主要介绍了ASP.NET安全最佳实践前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
其他ASP.NET安全最佳实践还有什么?

到目前为止,已经列出了这里:

>当您将应用程序移动到生产中时,始终生成新的加密密钥和管理员密码。
>不要直接或加密形式存储密码。始终存储一种方式散列密码。
>始终将连接字符串存储在Web.config的标签中,并通过使用受保护的配置提供程序(RSA或DPAPI)对配置部分进行加密。见example here
>使用具有最小权限的用户标识连接到sql服务器或正在使用的数据库。例如,如果您仅从某个应用程序模块执行存储过程,则必须创建一个只具有执行权限的用户标识。
>如果要在页面上使用角色基础安全性,请使用PrincipalPermission

[PrincipalPermission(SecurityAction.Demand,Role="Admin")]  
public class AdminOnlyPage : BasePageClass  
{  
  // ...  
}

>始终使用参数来阻止SQL查询中的SQL Injection

>考虑在IIS服务器上安装URLScan以防止sql注入。
另外,为防止XSS攻击。您可以使用MSFT的AntiXSS库,而不是内置的编码输出,而不是HttpServerUtility中内置的HtmlEncode。

>始终保持web配置中的customErrors,使您的错误/异常私有

< customErrors mode =“On”defaultRedirect =“MyErrorPage.htm”/>
>在Web应用程序中,始终验证用户对html标签或任何脚本的输入。
>不要将敏感信息存储在Cookie中,例如密码。
>如果异常,请不要显示系统错误信息,堆栈跟踪等。

解决方法

我发现微软的 Developer Highway Code是一个有用的安全检查表。

猜你在找的asp.Net相关文章