直接访问一个网站的某个文件 比如http://www.xx.xxx/a.mp3和 我们访问一个页面的时候 页面里需要访问http://www.xx.xxx/a.mp3有什么区别?
我们在服务器上可以利用方法判别2种不同的请求?其实我的最终要实现的是 禁止用户下载和防止别的站点盗链现在使用了COOKIE加服务器验证 可以实现了 在没有COOKIE下的情况下 盗链和用户下载都能规避了问题是 如果用户有了COOKIE 而且正在浏览本网站 那么 还是可以下载的,当然也可以盗链 这个问题可以不考虑
我们在服务器上可以利用方法判别2种不同的请求?其实我的最终要实现的是 禁止用户下载和防止别的站点盗链现在使用了COOKIE加服务器验证 可以实现了 在没有COOKIE下的情况下 盗链和用户下载都能规避了问题是 如果用户有了COOKIE 而且正在浏览本网站 那么 还是可以下载的,当然也可以盗链 这个问题可以不考虑
为什么呢,我给楼主个建议,去下一个fiddler装上,对第一次请求和登陆后请求的http头进行仔细的查看,你就可以知道cookie的原理,以及每次请求有什么不一样,这样就能解决你心中的疑惑了
首先给服务器发送请求
服务器把A页面的HTML发送过去
然后浏览器开始解析HTML 这个时候
有开始请求页面的 图片 音乐 FLASH等文件的信息
服务器又将相关的信息发送给浏览器
是这样运行的吧?观察IIS的日志记录好像就是这样的
如果是这样运行的话
那直接请求和页面内的文件请求就没有区别了
使用context.Request.UrlReferrer 在页面访问音乐文件的时候 也有可能出现空的情况
有的时候是2次请求 有的时候是3次请求音乐文件 不知道 怎么 回事?
你可以禁止右键等操作来实现,不过这些操作其实都是针对普通用户来说可行偶,其实你网站的所有文件最终都会在客户端的IE缓存目录里找到,也就是说即使用户在网页里获取不到,也能在缓存目录里找到。