微信投票添加验证码以防止刷票
在提交表单数据的地方使用校验码
服务端返回一个校验码,在dom初始化的时候页面使用js加密这个校验码,commit的时候提交这个加密的校验码,服务端再判断这个加密码的校验码是否正确。校验码设置使用N次后就作废。
以下为伪代码:
jsp页面
;
var _check_code_salt_ = “gx=**&^%%$$###@#$—eeax221”;
$(function(){
var _check_code = ‘’;
});
$.ajax({
url: “http://www.example.com/vote.do”,
params: { checkCode: md5(_check_code + _check_code_salt_ ), openid: OPENID },
type:”post”,
success:function() {
}
});
服务端处理
String checkCodeSalt = “gx=**&^%%$$###@#$—eeax221”;
String serverCode = MD5.get((String) request.getAttribute(“_check_code_”) + checkCodeSalt);
String pageCode = (String) request.getAttribute(“checkCode”);
if (serverCode.equals(pageCode)) {
response.setCharacterEncoding(“UTF-8”);
response.setContentType(“application/json; charset=utf-8”);
PrintWriter out = null;
out = response.getWriter();
out.append(“{errorCode:’1′}”);
return;
} else {
doSomething();
}
注:加一个加密的过程是为了让使用HttpClient的模拟访问行为变的更困
上一篇:微信刷票刷100票多少钱
下一篇:微信投票如何预防刷票