Bil*_*tin 3 c# asp.net security
我已经使用c#和asp.net创建了一个Web身份验证应用程序,并希望避开您认为它的安全性.所有导航均由https完成.
用户注册
重设密码
登录(使用验证控件和文本框限制来限制输入)
有点罗嗦,但想要清楚.
我在这里错过了什么吗?我想使用MS的表单auth,但决定自己滚动,因为我有一些问题,我想用FBA完成一些自定义的东西.通过使用会话变量作为步骤完成标记,这是否足以防止会话窃取或书签?有一个更好的方法吗?
请问好吗?
ASP.NET Forms身份验证或使用Membership Provider位的哪些方面不符合您的需求?我发现在很多不同的场景中都非常灵活?
滚动你自己通常会在未来使生活变得艰难,特别是当你需要开始做出改变时.您还可以使用母版页来验证用户登录状态等,但是当您需要更多母版页时,您需要在每个母版页中复制相同的代码块并使其保持一致.然后,这可能成为未来某个地方的维护噩梦.
如果您没有在框架中使用现成的烘焙认证工具,那么您应该在其他地方管理这种事情,例如在HttpModule中.
我想你应该重温你正在做的事情.IIdentity如果需要从用户对象挂起用户特定的数据/对象,请查看实现自己的自定义对象.然后分配给IPrincipal您可以附加到Context.UserASP.NET中的自定义.
@ asp316和@Jack(评论)我建议抓住这两本书:
由Dominick Baier 开发更安全的Microsoft®ASP.NET2.0应用程序
Stefan Schackow的专业ASP.NET 2.0安全性,成员资格和角色管理
您会惊讶于.NET内置的安全基础架构的灵活性.除了<authentication mode="Forms">向web.config 添加设置和<asp:login runat="server"/>在页面上打一个控件之外,还有很多其他功能.
关于"滚动你自己"的事情是,它很容易以微妙的方式弄错,以至于看起来有效.然后,当然,您可以部署此代码并继续处理其他事情,而不知道出现任何问题.毕竟,它通过了所有测试.
一年之后,事实证明你的网站在六个月前遭到黑客攻击,直到那时你才知道它.
更好地找到依赖安全专家编写的实现的方法.
| 归档时间: |
|
| 查看次数: |
1732 次 |
| 最近记录: |