栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

微信投票平台防止刷票的方法和原理随笔

微信投票平台防止刷票的方法和原理随笔

目前在网络上有很多的微信投票平台,都是如何防止刷票的呢?

一、通过微信登录后授权获得的openid,记录到大数据的数据中,如果频繁或者等一系列机器语言的监测,如果进入黑名单,那么这个openid的微信号就不可以再次在这种平台里进行投票。从而提示。

代码如下:

用微信打开地址(红色的为需要替换的内容)

 https://open.weixin.qq.com/connect/oauth2/authorize?appid=appid&redirect_uri=http://www.回调网址.com/xx.php&response_type=code&scope=snsapi_userinfo&state=123#wechat_redirect 

xx.php源码

二、IP地址。如果一个IP频繁的进行投票。那么也会进入大数据黑名单,和openid类似。

 protected void Page_Load(object sender, EventArgs e)
    {undefined
        if(!IsPostBack)
        {undefined
            string str="";
            str += "您的IP地址:" + Page.Request.UserHostAddress + "
";
            str += "您的真实IP:" + IPAddress + "
";
            //str += "当前用户电脑名称:" + System.Net.Dns.GetHostName() + "
";
            //str += "当前电脑名:" + System.Environment.MachineName + "
";
            //str += "当前电脑用户:" + System.Environment.UserName + "
";
            //str += "当前电脑所属网域:" + System.Environment.UserDomainName + "
";
            //str += "浏览器类型:" + Request.Browser.Browser + "
";
            //str += "浏览器标识:" + Request.Browser.Id + "
";
            //str += "浏览器版本号:" + Request.Browser.Version + "
";
            //str += "浏览器标识:" + Request.Browser.Id + "
";
            //str += "您的真实IP地址:" + GetIp();
            divContent.InnerHtml = str;
            //获取真实IP
        }

    }

      ///


    /// 取得客户端真实IP。如果有代理则取第一个非内网地址
    ///

    private string IPAddress
    {undefined
        get
        {undefined
            string result = String.Empty;

            result = HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"];
            if (result != null && result != String.Empty)
            {undefined
                //可能有代理
                if (result.IndexOf(".") == -1)     //没有“.”肯定是非IPv4格式
                    result = null;
                else
                {undefined
                    if (result.IndexOf(",") != -1)
                    {undefined
                        //有“,”,估计多个代理。取第一个不是内网的IP。
                        result = result.Replace(" ", "").Replace("'", "");
                        string[] temparyip = result.Split(",;".ToCharArray());
                        for (int i = 0; i < temparyip.Length; i++)
                        {undefined
                            if (IsIPAddress(temparyip[i])
                                && temparyip[i].Substring(0, 3) != "10."
                                && temparyip[i].Substring(0, 7) != "192.168"
                                && temparyip[i].Substring(0, 7) != "172.16.")
                            {undefined
                                return temparyip[i];     //找到不是内网的地址
                            }
                        }
                    }
                    else if (IsIPAddress(result)) //代理即是IP格式
                        return result;
                    else
                        result = null;     //代理中的内容 非IP,取IP
                }

            }

            string IpAddress = (HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"] != null && HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"] != String.Empty) ? HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"] : HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"];

            if (null == result || result == String.Empty)
                result = HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"];

            if (result == null || result == String.Empty)
                result = HttpContext.Current.Request.UserHostAddress;

            return result;
        }
    }

三、目前我还没有想出来。知道的不妨评论区一起讨论下。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/758427.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号