首页 新闻 会员 周边 捐助

ASP.NET对客户端的识别

0
悬赏园豆:50 [已解决问题] 解决于 2011-03-23 13:34

要做一个文件下载的功能,需要保证这个文件的下载链接只能被登录过的PC访问,该链接复制给其他人的PC上访问会返回错误信息。

问题是这样要求服务器端能够识别客户端的PC,如果用IP做的话,内网的PC机在外网看起来IP都是一样的,这样的情况也是不允许的。

请问有什么比较好的方法来做这样一个事情。

浏览器不能有限制,最好手机都能用。

强盗罗吉的主页 强盗罗吉 | 初学一级 | 园豆:10
提问于:2011-03-21 18:07
< >
分享
最佳答案
0

被登录过的PC访问,客户端是否有凭据,如用户名、密码等,匿名客户也可以写Cookie;文件的下载链接做成处理程序如ashx(通过传入文件名然后程序获取物理的文件内容),这样要下载某个文件检查凭据或Cookie就可以知道当前的下载是否有浏览历史了

收获园豆:40
2012 | 高人七级 |园豆:21645 | 2011-03-21 21:56
谢谢你的回答。
如果我要用迅雷打开该链接,我的服务器端还能访问到cookie吗?
还有客户端如果清掉了cookie怎么办呢,或者客户端把cookie复制到了另外一台机器上,势必还是有安全问题,我对国外一个网站下载进行了测试,他们的网站及时把cookie清掉了还是可以继续下载。
强盗罗吉 | 园豆:10 (初学一级) | 2011-03-21 21:59
迅雷的请求是传递cookie和安全凭据的,如果服务端检测不到,那是客户端已经清理或没有登陆
cookie是有一定的安全问题,或者使用输入用户名密码的形式下载
2012 | 园豆:21645 (高人七级) | 2011-03-22 08:18
谢谢你的解答,我之前把网站的功能想得太复杂了,其实国外的那个网站也没那么牛,我自己用cookie+session模拟出来了。
强盗罗吉 | 园豆:10 (初学一级) | 2011-03-23 13:34
其他回答(1)
0

登录的记录session的一个Key 没登录 自然没有这个Key

收获园豆:10
码尔代夫iimax | 园豆:3138 (老鸟四级) | 2011-03-22 09:46
我不明白你的答案是什么意思,也许你没看明白我的问题,客户端点击链接和复制链接都可以下载,客户端点击链接这时是有session的,假如没有点击,而是复制到另外一个浏览器窗口粘贴下载这个链接的内容,那session就不是同一个key了。
而且我还想做到客户端能够在关闭浏览器之后再次打开这个链接还能识别这台机器他登录过,甚至要做到断点下载,有什么东西可以记录的?
cookie和session早都已经被我考虑过了。
支持(0) 反对(0) 强盗罗吉 | 园豆:10 (初学一级) | 2011-03-22 16:39
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册