我每个页面都像下面这样来验证用户身份:
if (User.Identity.IsAuthenticated)
{
这里判定用户是否登录
}
string userid=User.Identity.Name.ToString();//这里来获得用户ID
请问像这样判定用户的身份,是否存在安全隐患?
如果真的存在安全问题,请各位老大指点一下,在.net中,什么样的身份验证,在保证性能的前提下,是最安全的?
40 个解决方案
#1
不知道什么原理的,也想了解一下
#2
你认为你可能伪造cookie?
#3
把cookie加密,但是要保证绝对的安全好像不可能!
#4
很不安全阿 !!! 看可看duwamish的方案 很不错啊
#5
to:conquersky
请问duwamish的方案在哪里机以找到?给个链接,,谢谢.
请问duwamish的方案在哪里机以找到?给个链接,,谢谢.
#6
.............
#7
duwamish
vs.net文档里面有的,文档中搜索duwamish7.0
vs.net文档里面有的,文档中搜索duwamish7.0
#8
up
#9
帮你顶
#10
我也觉得不够安全,虽然可以加密,但保存在客户端还不是很好,我还是更倾向于用Session
#11
如果换用Session是否就肯定安全了呢?
#12
至少可以避免用户自己修改cookie带来的风险
#13
如果把用户ID放到Session["userid"],每个页面都通过这个Session来判断用户身份,是否就肯定安全了????
#14
我是把权限放在SESSION里面,呵呵。
这个应该比较安全吧。
而且一般都不用FROM来验证,觉得麻烦,可能是了解不够多。
这个应该比较安全吧。
而且一般都不用FROM来验证,觉得麻烦,可能是了解不够多。
#15
用户ID放到Session["userid"]
#16
session=cookie????
#17
我还是喜欢表单验证方便啊
既然微软出了这些高级技术为什么不用呢
既然微软出了这些高级技术为什么不用呢
#18
session不安全,我的下载用session做验证被人破解了
#19
Mark~
#20
顶,我在MSDN看到,.net的身份验证的几种方法,像我这种情况,用户名和密码存放在数据库中,提供登录表单给用户登录,最好的,也只能用FORM验证,FORM验证的原理是,只要客户端通过验证,服务器端向客户端发送一段Cookie,以后每次客户端向服务器提交数据,都会把这段Cookie放在请求的数据前面,来确认是否以通过验证,并可以通过每次数据传输都用SSL来防止黑客通过监听工具,获取并伪装这个Cookie。。。。
但是,这样做开销也推大了点,,,,哪位高手可以给我个完美的解决方案???再给几百分也是没问题的。小弟不胜感激。
但是,这样做开销也推大了点,,,,哪位高手可以给我个完美的解决方案???再给几百分也是没问题的。小弟不胜感激。
#21
也正在研究form的cookie帮你顶一下?
#22
cookie可以用sha和md5加密,
但是不知道可以不可以多加几层密码?
但是不知道可以不可以多加几层密码?
#23
继续顶,没有人指点,我将再发一个百分帖,分不是问题的.
#24
加密要进行复杂一些的加密,如:把cookie的值混合用户名、混合客户端的ip一起进行加密!这样的话就很难破解了!
#25
關注!!
#26
gz
#27
up
#28
帮你顶,
顶到版主看到为止!
顶到版主看到为止!
#29
哥们你有好方法和我告诉我一下啊!
我也在研究
我也在研究
#30
相当危险
#31
session+forms认证相结合,在redirect页面通过验证时写session,在保护页面发现session没有了,就signout:
if(Session["sUserName"]==null)
{
FormsAuthentication.SignOut();
return;
}
if(Session["sUserName"]==null)
{
FormsAuthentication.SignOut();
return;
}
#32
//对用户密码进行加密
SHA1 sha1 = SHA1.Create();
byte[] m_password = sha1.ComputeHash(Encoding.Unicode.GetBytes(password));
SHA1 sha1 = SHA1.Create();
byte[] m_password = sha1.ComputeHash(Encoding.Unicode.GetBytes(password));
#33
加一个安全层,这样会好很多!
#34
不太明白,都是高人,学习
#35
牵涉到现金交易的话应该 SESSION 和 FORM同时使用
SESSION保存在服务器上,安全性高,判断内容是否 = 数据库中MD5加密后密码+WEB.CONFIG中明文代码(可以不定期更改长度内容)
#36
理解,顶一下。两者结合呀
#37
session和cookies结合 cookies机密!
#38
\Program Files\Microsoft Visual Studio .NET 2003\Enterprise Samples\Duwamish 7.0 CS Duwamish的例子在你机器的这个位置
#39
感觉不会
#40
微软的东西就是表面安全实质不安全
#1
不知道什么原理的,也想了解一下
#2
你认为你可能伪造cookie?
#3
把cookie加密,但是要保证绝对的安全好像不可能!
#4
很不安全阿 !!! 看可看duwamish的方案 很不错啊
#5
to:conquersky
请问duwamish的方案在哪里机以找到?给个链接,,谢谢.
请问duwamish的方案在哪里机以找到?给个链接,,谢谢.
#6
.............
#7
duwamish
vs.net文档里面有的,文档中搜索duwamish7.0
vs.net文档里面有的,文档中搜索duwamish7.0
#8
up
#9
帮你顶
#10
我也觉得不够安全,虽然可以加密,但保存在客户端还不是很好,我还是更倾向于用Session
#11
如果换用Session是否就肯定安全了呢?
#12
至少可以避免用户自己修改cookie带来的风险
#13
如果把用户ID放到Session["userid"],每个页面都通过这个Session来判断用户身份,是否就肯定安全了????
#14
我是把权限放在SESSION里面,呵呵。
这个应该比较安全吧。
而且一般都不用FROM来验证,觉得麻烦,可能是了解不够多。
这个应该比较安全吧。
而且一般都不用FROM来验证,觉得麻烦,可能是了解不够多。
#15
用户ID放到Session["userid"]
#16
session=cookie????
#17
我还是喜欢表单验证方便啊
既然微软出了这些高级技术为什么不用呢
既然微软出了这些高级技术为什么不用呢
#18
session不安全,我的下载用session做验证被人破解了
#19
Mark~
#20
顶,我在MSDN看到,.net的身份验证的几种方法,像我这种情况,用户名和密码存放在数据库中,提供登录表单给用户登录,最好的,也只能用FORM验证,FORM验证的原理是,只要客户端通过验证,服务器端向客户端发送一段Cookie,以后每次客户端向服务器提交数据,都会把这段Cookie放在请求的数据前面,来确认是否以通过验证,并可以通过每次数据传输都用SSL来防止黑客通过监听工具,获取并伪装这个Cookie。。。。
但是,这样做开销也推大了点,,,,哪位高手可以给我个完美的解决方案???再给几百分也是没问题的。小弟不胜感激。
但是,这样做开销也推大了点,,,,哪位高手可以给我个完美的解决方案???再给几百分也是没问题的。小弟不胜感激。
#21
也正在研究form的cookie帮你顶一下?
#22
cookie可以用sha和md5加密,
但是不知道可以不可以多加几层密码?
但是不知道可以不可以多加几层密码?
#23
继续顶,没有人指点,我将再发一个百分帖,分不是问题的.
#24
加密要进行复杂一些的加密,如:把cookie的值混合用户名、混合客户端的ip一起进行加密!这样的话就很难破解了!
#25
關注!!
#26
gz
#27
up
#28
帮你顶,
顶到版主看到为止!
顶到版主看到为止!
#29
哥们你有好方法和我告诉我一下啊!
我也在研究
我也在研究
#30
相当危险
#31
session+forms认证相结合,在redirect页面通过验证时写session,在保护页面发现session没有了,就signout:
if(Session["sUserName"]==null)
{
FormsAuthentication.SignOut();
return;
}
if(Session["sUserName"]==null)
{
FormsAuthentication.SignOut();
return;
}
#32
//对用户密码进行加密
SHA1 sha1 = SHA1.Create();
byte[] m_password = sha1.ComputeHash(Encoding.Unicode.GetBytes(password));
SHA1 sha1 = SHA1.Create();
byte[] m_password = sha1.ComputeHash(Encoding.Unicode.GetBytes(password));
#33
加一个安全层,这样会好很多!
#34
不太明白,都是高人,学习
#35
牵涉到现金交易的话应该 SESSION 和 FORM同时使用
SESSION保存在服务器上,安全性高,判断内容是否 = 数据库中MD5加密后密码+WEB.CONFIG中明文代码(可以不定期更改长度内容)
#36
理解,顶一下。两者结合呀
#37
session和cookies结合 cookies机密!
#38
\Program Files\Microsoft Visual Studio .NET 2003\Enterprise Samples\Duwamish 7.0 CS Duwamish的例子在你机器的这个位置
#39
感觉不会
#40
微软的东西就是表面安全实质不安全