ASP.NET 安全漏洞与防护策略解析
1. 登录 Cookie 存储与验证
在 ASP.NET 开发中,我们可以在登录 Cookie 中存储任意值。例如,由于 ASP.NET 仅提供当前用户的登录名访问权限,为简化数据库操作,可将用户的内部 ID 缓存到 Cookie 中。同时,我们还可以创建实现 IIdentity 和 IPrincipal 接口的自定义身份和主体类,并将它们分配给当前 HTTP 上下文和当前线程,使这些值在网站的各个部分都可用。以下是相关代码示例:
int userId = Int32.Parse( userDataParts[ 3 ] );
string email = userDataParts[ 4 ];
HttpRequest req = HttpContext.Current.Request;
if( !req.UserHostAddress.Equals( clientIP, StringComparison.OrdinalIgnoreCase ) )
throw new SecurityException();
if( !req.UserAgent.Equals( userAgent, StringComparison.OrdinalIgnoreCase ) )
throw new SecurityException();
上述代码片段仅抛出 SecurityException ,实际应用中,我们需要确保记录这些事件,并向用户显示友好的错误消息,同时注意不要提供
超级会员免费看
订阅专栏 解锁全文
2533

被折叠的 条评论
为什么被折叠?



