什么是其他ASP.NET安全最佳实践?ASP.NET安全最佳实践
到目前为止确定这里列出:
每当你移动一个应用到生产始终生成新的加密密钥和管理员密码。
切勿直接或以加密形式存储密码。始终存储单向散列密码。
始终将连接字符串存储在Web.config标记中,并使用受保护的配置提供程序(RSA或DPAPI)在配置部分对其进行加密。请参阅example here
使用具有最低权限的用户标识连接到SQL Server或您正在使用的数据库。例如,如果您只从某个应用程序模块执行存储过程,则必须创建一个仅具有执行权限的用户标识。
如果您想在页面上使用基于角色的安全性,请使用PrincipalPermission。
[PrincipalPermission(SecurityAction.Demand, Role="Admin")] public class AdminOnlyPage : BasePageClass { // ... }
始终使用参数来防止SQL查询SQL Injection。
- 考虑在IIS服务器上安装URLScan以防止SQL注入。 此外,为了防止XSS攻击。您可以使用MSFT的AntiXSS库而不是内置的编码输出,而不是使用HttpServerUtility中的内置HtmlEncode。
上的customErrors始终保持在网络配置,让你的错误/异常私人
<的customErrors模式= “ON” 的defaultRedirect = “MyErrorPage.htm”/ >
在Web应用程序,始终验证用户对html标签或任何脚本的输入。
切勿存储敏感信息,例如cookie中的密码。
- 如果发生异常,不要显示系统错误消息,堆栈跟踪等。
这应该是一个维基。 – NotMe 2008-12-01 06:35:20
看看http://gosecure.github.io/security-cheat-sheet/ – SPoint 2017-06-05 19:40:06