07 2009 档案
【原创】对于防刷票机制方案的思考
摘要:【原创】 随着网络的发展,越来越多的评选活动采取了网络投票的制度,也因此刷票这个概念便出现在了大众面前。作为一个程序员如何维持网络投票的公正和严谨,如何尽可能的避免刷票出现的几率成为了开发此类程序不得不考虑的问题。就目前而言着实是没有一个完美的解决方案。现行的所有机制其实都只是做到了“防君子不防小人”。
刷票分为两个大类:一类是人为主体,通过人力去刷票。另一种更为可怕,通过特定的刷票机去代替人力完成令人恐怖的批量刷票。
现行的防刷票机制
1、验证码:确切的说验证码的出现不是针对于人,而是针对于机器。通过复杂度和识别难易度的控制来阻拦掉一部分刷票机,从而减少刷票的发生。但随着软件技术、识别技术的发展越来越多的验证码面对着先进的刷票软件也失去了其防范的作用。
2、Cookie:这个应该是很老很原始的一种方式来防止刷票了。对用户的每次投票进行Cookie的记录,当下次投票时进行检测发现Cookie中已经存在了此投票记录则禁止此次投票。很遗憾的是此方式对于大多数网民已经失去作用(当然除了特别嫩的菜鸟外)。只需要通过IE清掉Cookie限制就将解除。
阅读全文
【总结】Ajax Asp.Net 交互处理方式(三)
摘要:在第二章中已经对前台处理部分进行了编码,此章将探讨后台(.NET,C#为例)部分的编码。从第一章的构架分析:后台的任务主要是构造符合前台解析规则的“消息协议”。接下来我们先分析这种协议的特点:
1、需要有头信息(必须),用于对请求状态的标示。包括 _Success,_Fail,_Action 三个状态
2、必须有自定义信息,用于进行用户自定义数据的传送
3、对头信息中的标示采用属性方式设定,对于自定义信息中的数据必须能实现:添加、删除单个
删除所有、重设单个的功能
4、最后必须输出标准的Json字串
根据以上特点便可以编码出这种消息协议对象(JsonInfo)。因为要使用Json作为传输介质,因此
我们必须引用“Newtonsoft.Json” 即Json.Net dll组件。为了让我们的JsonInfo能够支持更多的对象
序列化,还必须考虑弥补Json.Net对DataSet和DataTable的不足。我们需要增加这两种解析方式。
从上面的四点可知,不论是头信息还是自定义信息,其实都是Key/Value的形式,我们可以通过
阅读全文
【总结】Ajax Asp.Net 交互处理方式(二)
摘要:在(一)中已经阐述了此处理方式的基本工作流程和原理。本章讨论流程前端(Javascript)的设计编写。
本文以Jquery库为例来构建前端处理对象。
通过第一章的分析,我们知道前端的主要任务就是:统一托管,一边托管前台用户的所有Ajax请求,一边对回馈的
“消息协议”进行解析处理。至于第一部分托管前台Ajax请求,可以直接借助Jquery中的Ajax来完成。为此需要构建
一个对象(Jquery插件),相对与全局而言其为一个静态对象(JsonInfo)。
下面对JsonInfo进行进一步设定:
阅读全文
【总结】Ajax Asp.Net 交互处理方式(一)
摘要:前言:本文并非说明如何使用Ajax,如何和后台进行交互。本文是作者(也就是我啦)在以往操作Ajax与后台交互时而产生的一种处理思维。也因为是自己的思维所以在某种程度上说不一定能符合大众口味,因此您如果有心想读下去,请先保留您自己的想法,看看后大家一起交流。我所说的这个方式是在我做毕业设计时而产生的(由于毕业设计时间紧我美工又不是很好,所以我放弃了做页面,copy了一个外国网站首页然后就一堆Ajax和模态窗口搞定了设计)。随后在工作中对以前的这个设计模式进行了修正调整,近几日闲来无事把这个东东再次整理优化了一下。全文如果不出意外打算写4个部分
一:处理方式介绍
二:前台Javascript实现
三:后台代码实现
四:调用例子
提醒:本文提到的处理方式是架构在 Asp.Net + Jquery + Json 条件下,总体很简单,如果您觉得不错也可以迁移。
阅读全文
浙公网安备 33010602011771号