[!急]服务器端怎么判断网页是通过链接打开而不是刷新页面

Randolfz 2012-09-18 10:19:03
RT,比方说百度首页,怎么判断是通过别处的链接打开的百度首页,而不是刷新百度首页得到的百度首页,需要做数据统计用。急用,请各位大神赐教
...全文
443 28 打赏 收藏 转发到动态 举报
写回复
用AI写文章
28 条回复
切换为时间正序
请发表友善的回复…
发表回复
Randolfz 2012-09-18
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 的回复:]

如果想作弊,你是没方法防止的。

使用UrlReferrer判断就很好。
或者在页面中使用Cookie,第一次进入写cookie,刷新当然就可以判断cookie是否存在来解决
[/Quote]
呀,用小号回你了,呵呵!不过也一样,麻烦您给看看有别的方法吗?
Randolphzc 2012-09-18
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 的回复:]

如果想作弊,你是没方法防止的。

使用UrlReferrer判断就很好。
或者在页面中使用Cookie,第一次进入写cookie,刷新当然就可以判断cookie是否存在来解决
[/Quote]
我是通过浏览A.html时后台打开B.aspx,当然B页面不显示出来,B页面是做统计用的,如果A页面刷新数据不更新,如果是从别的页面比如C.html进入A页面数据更新,对于this.Request.UrlReferrer.ToString()好像只能判断是从A页面进到B页面的,不管是A—>A还是C—>A都是获得的A的地址。对于试用Cookie我还是不了解这块,而且有些浏览器会建议客户端禁用Cookie,所以也不是太理想
孟子E章 2012-09-18
  • 打赏
  • 举报
回复
如果想作弊,你是没方法防止的。

使用UrlReferrer判断就很好。
或者在页面中使用Cookie,第一次进入写cookie,刷新当然就可以判断cookie是否存在来解决
Randolfz 2012-09-18
  • 打赏
  • 举报
回复
大神们赶紧来帮忙啊,真的很急啊
Randolfz 2012-09-18
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 的回复:]

通过如下来判断当前页面来自的转向C# code
this.Request.UrlReferrer.ToString()
[/Quote]
我是通过浏览A.html时后台打开B.aspx,当然B页面不显示出来,B页面是做统计用的,如果A页面刷新数据不更新,如果是从别的页面比如C.html进入A页面数据更新,对于this.Request.UrlReferrer.ToString()好像只能判断是从A页面进到B页面的,不管是A—>A还是C—>A都是获得的A的地址,可有别的方法吗
  • 打赏
  • 举报
回复
通过如下来判断当前页面来自的转向
this.Request.UrlReferrer.ToString()
Randolfz 2012-09-18
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 的回复:]

引用 2 楼 的回复:
判断当前页面地址?


错了,应当是跳转到目标页的起始地址
[/Quote]
这起始地址是怎么判断呢,而且还得是看这一个用户的,虽然知道每个用户被分配了不同的SessionID,但怎么来获得用户的SessionID呢
ycproc 2012-09-18
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 的回复:]
判断当前页面地址?
[/Quote]

错了,应当是跳转到目标页的起始地址
ycproc 2012-09-18
  • 打赏
  • 举报
回复

判断当前页面地址?
Randolfz 2012-09-18
  • 打赏
  • 举报
回复
再等等,到下班,看还有大神帮忙不,下班后没人帮忙就结贴了
Randolfz 2012-09-18
  • 打赏
  • 举报
回复
[Quote=引用 25 楼 的回复:]

这种东西要作弊,很简单的,你想得太多了
[/Quote]
唉,也不是我想的太多了,我也想简单点来,但是我们头非得让加上这个判断,被逼的啊
孟子E章 2012-09-18
  • 打赏
  • 举报
回复
这种东西要作弊,很简单的,你想得太多了
孟子E章 2012-09-18
  • 打赏
  • 举报
回复
[Quote=引用 18 楼 的回复:]

引用 17 楼 的回复:

但是,这样写也并不能禁止刷新页面执行的。
好的方法是
ID + IP 来记录在Cookie中,

刚才试了试,去掉后确实能跳转了,但是现在又有一个问题,如果是从C.html跳转到B.html,B页面中的document.referrer会一直是C.html的地址,不管刷不刷新,所以还是不太行。至于用Cookie,如果用户的浏览器禁用Cookie怎么办呢,……
[/Quote]

没有十全十美的方法!!!!
Randolphzc 2012-09-18
  • 打赏
  • 举报
回复
[Quote=引用 22 楼 的回复:]


protected void Page_Load(object sender, EventArgs e)中的e 判断是否是单击事件,如果是的话就是点击进入的。
[/Quote]
麻烦您看一下我中间的那些回复,是由两个html和一个aspx写的页面,aspx页面不显示出来,而是有一个html页面后台打开的,怎么着也不是单击事件啊
xinyunzhiying 2012-09-18
  • 打赏
  • 举报
回复

protected void Page_Load(object sender, EventArgs e)中的e 判断是否是单击事件,如果是的话就是点击进入的。
Randolphzc 2012-09-18
  • 打赏
  • 举报
回复
继续,不能沉,大神们赶紧来帮忙啊
Randolfz 2012-09-18
  • 打赏
  • 举报
回复
自己再顶,不可以沉啊
Randolfz 2012-09-18
  • 打赏
  • 举报
回复
[Quote=引用 17 楼 的回复:]

但是,这样写也并不能禁止刷新页面执行的。
好的方法是
ID + IP 来记录在Cookie中,
[/Quote]
刚才试了试,去掉后确实能跳转了,但是现在又有一个问题,如果是从C.html跳转到B.html,B页面中的document.referrer会一直是C.html的地址,不管刷不刷新,所以还是不太行。至于用Cookie,如果用户的浏览器禁用Cookie怎么办呢,现在好多浏览器都有这功能了
孟子E章 2012-09-18
  • 打赏
  • 举报
回复
但是,这样写也并不能禁止刷新页面执行的。
好的方法是
ID + IP 来记录在Cookie中,
孟子E章 2012-09-18
  • 打赏
  • 举报
回复
<script type="text/jscript" language="Javascript">
改成
<script type="text/javascript">

或者就写成
<scrip>

即可
非IE都不认jscript的,代码不会执行
加载更多回复(4)

110,533

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧