微信投票平台防止刷票的方法和原理随笔
目前在网络上有很多的微信投票平台,都是如何防止刷票的呢?
一、通过微信登录后授权获得的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源码
<?php $code = $_GET['code'];//获取code $weixin = file_get_contents("https://api.weixin.qq.com/sns/oauth2/access_token?appid=wx97842c91eebd5446&secret=4127fc2a585b86c14399e4fb22f8675f&code=".$code."&grant_type=authorization_code");//通过code换取网页授权access_token $jsondecode = json_decode($weixin);//对JSON格式的字符串进行编码 $arr = get_object_vars($jsondecode);//转换成数组 $openid = $arr['openid'];//输出openid echo $openid; ?>
二、IP地址。如果一个IP频繁的进行投票。那么也会进入大数据黑名单,和openid类似。
protected void Page_Load(object sender, EventArgs e)
{undefined
if(!IsPostBack)
{undefined
string str="";
str += "您的IP地址:" + Page.Request.UserHostAddress + "<br>";
str += "您的真实IP:" + IPAddress + "<br>";
//str += "当前用户电脑名称:" + System.Net.Dns.GetHostName() + "<br>";
//str += "当前电脑名:" + System.Environment.MachineName + "<br>";
//str += "当前电脑用户:" + System.Environment.UserName + "<br>";
//str += "当前电脑所属网域:" + System.Environment.UserDomainName + "<br>";
//str += "浏览器类型:" + Request.Browser.Browser + "<br>";
//str += "浏览器标识:" + Request.Browser.Id + "<br>";
//str += "浏览器版本号:" + Request.Browser.Version + "<br>";
//str += "浏览器标识:" + Request.Browser.Id + "<br>";
//str += "您的真实IP地址:" + GetIp();
divContent.InnerHtml = str;
//获取真实IP
}
}
/// <summary>
/// 取得客户端真实IP。如果有代理则取第一个非内网地址
/// </summary>
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;
}
}
三、目前我还没有想出来。知道的不妨评论区一起讨论下。
微信投票平台防止刷票的方法和原理随笔相关推荐
- 关于微信投票怎么免费刷票数及微信投票怎么快速刷票的方法介绍
关于微信投票怎么免费刷票数及微信投票怎么快速刷票的方法介绍.越来越多的人在平常生活中使用微信,以微信为载体的许多功能就被开发和使用了起来,比如--微信投票.于是乎,微信上兴起了各种投票,从小学生到go ...
- 「图文」介绍下微信怎么拉票刷票及微信投票怎样自己拉票方法
「图文」介绍下微信怎么拉票刷票及微信投票怎样自己拉票方法,越来越多的人在平常生活中使用微信,以微信为载体的许多功能就被开发和使用了起来,比如--微信投票.于是乎,微信上兴起了各种投票,从小学生到gov ...
- 另类保存微信公众平台历史消息的方法 - 星标消息
前面怎样把微信聊天记录导出备份到电脑[微信公众平台技巧]介绍的通过复制源代码来保存微信公众平台历史消息的方法,有网友反映说不会用批量替换.不会批量换行保存,一头雾水.这里我们就说个简单的方法,直接用星 ...
- 教大家微信里投票的怎么刷票及微信投票怎么免费刷票攻略
教大家微信里投票的怎么刷票及微信投票怎么免费刷票攻略,越来越多的人在平常生活中使用微信,以微信为载体的许多功能就被开发和使用了起来,比如--微信投票.于是乎,微信上兴起了各种投票,从小学生到gov部门 ...
- [046] 《微信公众平台应用开发:方法、技巧与案例》火热预售中...
在CSDN连续写了20多篇关于微信公众平台开发的教程,受到了广大读者的一致好评,几乎每篇文章的访问量都过万,评论都是好几十,谢谢大家对我的支持.鼓励和肯定,这让我更加坚定了写书的想法.从2013年8月 ...
- php微信回复乱码,php版本微信公众平台回复乱码问题解决方法
微信公众平开发时碰到回复中文乱码了,这个问题小编发现是编码问题,其实只要把编码转成utf8就可以解决了,具体来看看. 很多微信公众平台的自动回复程序都是 ThinkWechat.class.php 这 ...
- 微信公众平台账号名字修改方法
很多朋友认证公众号时没有注意名称,导致认证加V后对名字不满意.或者由于企业的发展需要对微信名进行修改,今天小编就来教教大家怎样快速修改微信公众平台的名字. 修改微信名称所需资料 1.准备好公众号新名字 ...
- 【征集+投票】微信投票小程序,公众号投票,免费创建投票打分平台,免费微信投票平台、微信投票小程序、微信群投票
作为公司.自媒体.学校等都经常会组织一些活动,需要先收集或者征集大家的作品,然后进行投票来提升活动氛围.通过微信投票获得结果,亦或者通过投票来引流增粉形成传播. 而传统的方式,通过邮 ...
- php get微信接口乱码,php版本微信公众平台回复乱码问题解决方法
微信公众平开发时碰到回复中文乱码了,这个问题小编发现是编码问题,其实只要把编码转成utf8就可以解决了,具体来看看. 很多微信公众平台的自动回复程序都是 ThinkWechat.class.php 这 ...
- 微信公众平台测试号的url和token原理
1.在微信开发平台测试号后台填写的url和token 2.点击保存的时候微信服务器会自动发一个get请求到我们写的url上面! 我们要根据我们写的token做 签名验证 3.如果签名验证成功的话!把微 ...
最新文章
- 职业经理人的核心技能
- mysql的驱动connect放在哪里_Python连接数据库两种方法,QSqlDatabase,pymmsql,驱动名...
- ARM Cortex-A 编程手册学习笔记
- GitHub最热!码代码不得不知的所有定律法则
- (五)JS基础知识二(通过图理解原型和原型链)【三座大山之一,必考!!!】
- java三目运算_Java中的三目运算符 详解
- 我们如何体验 Line 的生活方式
- python网络编程需要学什么,python网络编程学习笔记(五):socket的一些补充 Python 网络编程需要学习哪些网络相关的知识...
- 解决爬取网站过程中遇到的HTTP Error 302错误和中文乱码问题
- CNDS-Markdown之公式编辑(二)
- 8种开源情报(OSINT)工具简介
- matlab表示网络,Matlab绘制网络
- 21考研复习规划和北邮计算机考研介绍
- 设计规约(Designing Specification)
- C# winform 学习(一)
- 暑假来袭!带孩子配镜前,请先了解“散瞳验光”!
- linux ops 一些函数简介
- 大数据快速发展,离不开互联网、大计算和云数据的支持
- 液体混合装置plc控制系统 西门子1200仿真系统 包含程序和画面
- 【天池龙珠计划】Python训练营 Task04 Python数据分析:从0完成一个数据分析实战