加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

ASP.NET安全最佳实践

发布时间:2020-12-15 18:39:46 所属栏目:asp.Net 来源:网络整理
导读:其他ASP.NET安全最佳实践还有什么? 到目前为止,已经列出了这里: 当您将应用程序移动到生产中时,始终生成新的加密密钥和管理员密码。 不要直接或加密形式存储密码。始终存储一种方式散列密码。 始终将连接字符串存储在Web.config的标签中,并通过使用受保
其他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是一个有用的安全检查表。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读