求思路:像优酷的视频只能顶或踩1次,是怎么判断的呢?

loveniki 2008-11-05 10:52:07
首先想到的是cookie,顶了之后写入,但是重新打开网站,还是提示已经顶了
要不就是写入cookie了一段时间???
其次想到的是判断IP,要是局域网的话,只能1个人??
其实这个和投票有点类似
欢迎大家提供思路!还有就是用的AJAX,要考虑到AJAX容易实现的问题!
...全文
175 13 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
flywinzxj 2010-05-13
  • 打赏
  • 举报
回复
是啊,就是这样做,说的很好!
Heaven_feather 2008-11-05
  • 打赏
  • 举报
回复
cookie就可以了,毕竟这个数据没有刷的必要.
页面打开后判断是否有这个cookie,有的话不加+,没有的话+1
扎德 2008-11-05
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 wfyfngu 的回复:]
引用 1 楼 icanjj 的回复:
IP+session


这个可以实现
但我相信 优酷 不会这样做
因为耗服务器资源或者数据库空间(需要空间存贮IP,判断的时候又需要查询数据库)

引用 2 楼 Joker_myth 的回复:
获取该机的物理地址啊,这样就可以唯一了撒

这个更是天方夜谭了
物理地址无法获取

我觉得就是把已经操作过的资源ID存在Cookie中,
这个Cookie具有永久的存贮时限
不信的话,楼主可以删除Cookie再看结果
[/Quote]
up
kfps8kfps8 2008-11-05
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 wfyfngu 的回复:]
引用 1 楼 icanjj 的回复:
IP+session


这个可以实现
但我相信 优酷 不会这样做
因为耗服务器资源或者数据库空间(需要空间存贮IP,判断的时候又需要查询数据库)

引用 2 楼 Joker_myth 的回复:
获取该机的物理地址啊,这样就可以唯一了撒

这个更是天方夜谭了
物理地址无法获取

我觉得就是把已经操作过的资源ID存在Cookie中,
这个Cookie具有永久的存贮时限
不信的话,楼主可以删除Cookie再看结果
[/Quote]
赞同
jack20080808 2008-11-05
  • 打赏
  • 举报
回复
简单的cookie就可以了,毕竟这个数据没有刷的必要.
饭后散步 2008-11-05
  • 打赏
  • 举报
回复
就是用cookie的呀,最多加个ip信息
wfyfngu 2008-11-05
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 icanjj 的回复:]
IP+session
[/Quote]

这个可以实现
但我相信 优酷 不会这样做
因为耗服务器资源或者数据库空间(需要空间存贮IP,判断的时候又需要查询数据库)

[Quote=引用 2 楼 Joker_myth 的回复:]
获取该机的物理地址啊,这样就可以唯一了撒
[/Quote]
这个更是天方夜谭了
物理地址无法获取

我觉得就是把已经操作过的资源ID存在Cookie中,
这个Cookie具有永久的存贮时限
不信的话,楼主可以删除Cookie再看结果
Joker_myth 2008-11-05
  • 打赏
  • 举报
回复
获取该机的物理地址啊,这样就可以唯一了撒
icanjj 2008-11-05
  • 打赏
  • 举报
回复
IP+session
zorou_fatal 2008-11-05
  • 打赏
  • 举报
回复
cookie
qhdrenzhijie 2008-11-05
  • 打赏
  • 举报
回复
cookies就可以啊设置这个cookies为永久的
loveniki 2008-11-05
  • 打赏
  • 举报
回复
ding
loveniki 2008-11-05
  • 打赏
  • 举报
回复
我用的cookie,写入的代码如下:
HttpCookie cookie = new HttpCookie(videoID, "1");
cookie.Expires = DateTime.Now.AddDays(30);
try
{
HttpContext.Current.Response.Cookies.Set(cookie);
}
catch (Exception ex)
{ }

读取代码如下:
HttpCookie cookie = HttpContext.Current.Request.Cookies.Get(videoid);
if (cookie == null)
{
actionZone.Visible = true;
dingZone.InnerText = "顶:" + dingNum;
caiZone.InnerText = "踩:" + caiNum;
}

写入成功了,读到的老是空的呢?
注:写入的代码是在webservice里面有影响吗?

62,244

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

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