博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
.net 新闻点击量修改,避免恶意刷新
阅读量:5079 次
发布时间:2019-06-12

本文共 1627 字,大约阅读时间需要 5 分钟。

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的,应为这里记下的是用户最近一次访问的新闻标题,那么如果用户在几个新闻之间切换的话,那么还是不能避免恶意计数的!

转载于:https://www.cnblogs.com/yougmi/p/4229305.html

你可能感兴趣的文章
XPO学习(1)----第一个基于XPO的 数据感知应用程序
查看>>
Django-DjangoUeditor
查看>>
MongoDB in Action (MongoDB 实战).pdf
查看>>
Oracle常用SQL与练习
查看>>
spring注解
查看>>
python中random库的使用
查看>>
cheerio 服务器端的jquery
查看>>
心理 情绪
查看>>
vc中debug版本和release版本
查看>>
PCduino+LAMP(Linux Apache Mysql PHP)配置 web server
查看>>
java.sql.SQLException: Parameter index out of range (3 > number of parameters, which is 2).
查看>>
[转载(有删改)]单链表
查看>>
在数组中寻找出现次数大于N/K的数
查看>>
还在门外C++
查看>>
Java开发培训基础知识解析之反射机制
查看>>
位运算处理N皇后
查看>>
C#获取当前页面的url
查看>>
【leetcode】17. Letter Combinations of a Phone Number
查看>>
64位ubuntu 16.04 LTS安装搜狗输入法过程
查看>>
利用sfntly的sfnttool.jar提取中文字体
查看>>