问题描述
在下是一个.Net门外汉,想向各位大大求教一下,.Net做的网络应用当中,如果用户A已经登录,并且他的浏览器是禁用cookie的,那么sessionid很可能会显示在URL当中,而后如果用户B将这个URL完完整整的拷贝到自己的机器上,粘贴到浏览器里面,是不是就可以不用登录,直接使用,知道他们当中有一个人正常退出为止?
解决方案
解决方案二:
...
解决方案三:
想法好牛啊。。。
解决方案四:
怎么牛了?难道除了sessionId之外,还有其他参数传递给了服务器,从而识别出用户B没有使用session的权限?
解决方案五:
不行的吧。
解决方案六:
引用3楼gk2004busy的回复:
怎么牛了?难道除了sessionId之外,还有其他参数传递给了服务器,从而识别出用户B没有使用session的权限?
SessionID是只读的,用户B会被要求登录,会有一个新的SessionID。
解决方案七:
引用5楼whoami333的回复:
引用3楼gk2004busy的回复:怎么牛了?难道除了sessionId之外,还有其他参数传递给了服务器,从而识别出用户B没有使用session的权限?SessionID是只读的,用户B会被要求登录,会有一个新的SessionID。
whoami333您所说的只读是什么意思?用户B把用户A的URL拷贝过去,为什么一定会出现新的sessionID呢?不是已经将sessionID加入到参数当中了吗?如果这个id存在cookie当中,用户B把cookie整个拷贝过去不就可以了(排除网站在cookie当中加入了其他参数的前提)?
解决方案八:
这个是可以的
解决方案九:
SESSIONID是你登录成功的时候被赋值的,中间直接调用做判断就可以了,并不用再次赋值,~~你从URL上加再多的SESSIONID都没有用滴
解决方案十:
对于rebing的话不甚明了1.“被赋值”,是说客户端被分配了一个sessionID对吧?那么sessionID肯定存储在客户端吧?在不加密的情况下,如果客户端支持cookie,那么,我们肯定可以通过cookie获取这个sessionID,如果禁用cookie,那么URL上面会出现sessionID当然有些.Net应用在一些禁用了cookie的客户端机器上可能不会把sessionID写在URL当中,听其他网站的大虾说,是因为内存中缓存了这个sessionID既然在禁用cookie的时候,是通过URL传递sessionID的,那客户端直接把这个URL地址拷贝过来不就可以获取其他人的session了不是吗?2.就比如用户A已经登录,他被分配了一个sessionID,拷贝他浏览器中的URL地址到别人的机器,再用这个URL来访问,这个操作的意图并不是要给服务器的某个session“再次赋值”,而是通过sessionID来获取一个已经登录的session的访问权限3.对于“中间直接调用”是指在服务端还是在客户端?这句话在下确实看不太懂,还望不吝赐教~~假定您的意思是指在服务端。可是,大家都知道无论是通过cookie还是URL重写,登陆后的用户,被分配的sessionID,是在每次客户端发出其他请求时,由客户端传递过来的,如果“直接调用”呢?如果您的意思是指在客户端,在下就更晕了,还望您能说明一下,谢谢!
解决方案十一:
mark
解决方案十二:
木有大虾来帮忙了?