用c#,asp.net开发网站,如何识别某个访问者是首次来站?
正在开发一个网站(使用c#,asp.net)要求能够识别某个访问者是否是首次来访,如果对方浏览器禁用cookie该怎么做?如果对方频频更换ip地址,或者使用代理服务器呢?
期盼高手能指点一下,有源代码的话更好。拜托,谢谢了
------解决方案--------------------绝对无法实现的东西
------解决方案--------------------说说我的想法,仅供参考:
要实现这个功能,要根据不同的开发环境,采取不同方案,各有优缺点:
(1) 纯B/S
如果在纯B/S开发环境中,需要对客户采取唯一标志ID,要在数据库中存储客户唯一标志ID以及相关密码,还要存储所有客户的登录历史记录。
这样就可以很容易判断出访问者是否首次来站了。
当然,这样做的前提是,访问者需要提供用户ID,并且访问者每次都只用一个唯一的自己的用户ID,也不能把自己的ID给别人用,这可是理想环境,不一定都能满足的......(我也不推荐这种方法)
这时候不一定需要cookie,其实cookie也可以导入导出的,并不唯一......
(2) B/S结合ActiveX等
如果不是在纯B/S环境,可以采用ActiveX,或者其他C/S技术,就可以实现相对完善的用户识别技术了。
如果要判断网卡MAC地址,或者硬盘,主板的特征串,表面上好象能判断一台计算机,但是不能保证两个或者多人使用同一台计算机,当然不能识别某个访问者是否首次来站了。
采用ActiveX技术等,可以判断访问者计算机上的网卡MAC,硬盘,主板,CPU等多种特征值,肯定能唯一标志一台计算机,但是楼主的意思并不是判断计算机,是要判断访问者是否首次来站,这意味着不需要对计算机的唯一性进行判断。
要唯一识别某个访问者,也就是说要唯一识别操作计算机的人,可以用指纹,虹膜等方法,通过ActiveX可以调用指纹识别,或者虹膜等生物识别技术,来唯一识别某个具体的人,每次进入网站时,存储访问者的相关生物特征,再跟数据库中存在的己有用户信息进行比较,这样就可以实现楼主要求的功能了。(这个帖子里楼主并没有限制开发项目成本...)
(顺便说一下,采用指纹,也有风险,因为指纹机也有识别率,同时每个人的指纹,有的时候指纹机不一定全部都能读出来,小孩、或者指纹破损严重的人,可能读不出来...)
任何技术方案,都有其最适用的地方,我觉得,对开发人员来说,没有最好,只有最适合,要考虑开发周期、开发成本与客户心理......