.net 新闻点击量修改,避免恶意刷新
2015-01-16 17:21
169 查看
DataTable dt = bll.GetNewsByID(id);//根据ID获取的新闻详细内容 if (dt != null && dt.Rows.Count > 0) { //点击量修改的方案 string title = dt.Rows[0]["title"].ToString(); //判断是否存在 cookie HttpCookie cookie = context.Request.Cookies["NewsTitle"]; if (cookie == null) { //新建一个cookie cookie = new HttpCookie("NewsTitle"); cookie.Value = title; cookie.Expires.AddHours(1); context.Response.Cookies.Add(cookie); bll.UpdClicks(id); //修改读取到的数据里面的点击量 +1 dt.Rows[0]["clickNum"] = Convert.ToInt32(dt.Rows[0]["clickNum"]) + 1; } else { //判断cookie 的值是否是当前新闻的标题,如果不是,则没有访问过,点击量加1 if (cookie.Value != title) { bll.UpdClicks(id); //修改读取到的数据里面的点击量 +1 dt.Rows[0]["clickNum"] = Convert.ToInt32(dt.Rows[0]["clickNum"]) + 1; cookie.Value = title; context.Response.Cookies.Add(cookie); } } res.State = APIState.OK; res.Data = dt; }
我这里主要使用cookie的方式来实现这样一个新闻点击后计数加1,这样的方式其实是有一定的BUG的,应为这里记下的是用户最近一次访问的新闻标题,那么如果用户在几个新闻之间切换的话,那么还是不能避免恶意计数的!
相关文章推荐
- 利用Browsersync实现快速测试。(修改文件自动刷新,避免手动f5)
- .NET中用弹出窗口添加或修改一个页面,当添加或修改相关内容后按下提交按钮自动刷新页面的JS代码
- 关于避免审查元素时,修改数据和提交数据,造成恶意审查修改的方法总结
- [原创]dataGrid前台修改数据,不刷新页面
- .Net自动生成Html新闻系统V1.0 Beta 下载
- 修复IE恶意修改
- 注册表修改恶意网站问题
- 预防恶意网页代码的一些建议 解除常见恶意修改的一些方法
- 防范恶意代码修改您的IE浏览器五法
- 默认首页恶意修改?
- 在.NET实现文件时间的修改
- 恢复你的IE->对某些网站恶意修改的恢复方法
- dataGrid前台修改数据,不刷新页面
- 注册表修改游戏刷新频率
- [原创]关于www.17777.com的恶意修改的处理方法
- 使用Cookie预防因恶意刷新而形成的多次提交
- 基于.NET的新闻发布系统,目前的研发方向?
- 剖析恶意网页修改注册表的十二种现象
- 恶意网页修改注册表的12种现象
- 投诉.net大版主--关于zhilunchen(他山居士)恶意灌水被封,扣88信用分的问题