IP检测:
现在的广告联盟对于IP分析都很严格,除了你能制造出很多IP外,还会分析IP地区的数据。
基于http协议的软件产品,在服务器端获取客户端IP的方式有:X-FORWARDED-FOR、REMOTE-ADDR、REFERER,其中X-FORWARDED-FOR是可以伪造的,修改http头信息,REFERER也是可以伪造的修改http头就可以达到,但是REMOTE-ADDR目前来看不能轻易的伪造,有一钟方式可以用代理IP来伪造,我目前未测试过代理IP来模拟这些数据,也许通过一些其他参数和方法对比是可以检测到是代理IP。
有很多程序写的方式是,那么修改X-FORWARDED-FOR参数是可以伪造IP地址的:
/// <summary>
/// 获得当前页面客户端的IP
/// </summary>
/// <returns>当前页面客户端的IP</returns>
public string GetIP()
{
string result = String.Empty;
result = HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"];
if (null == result || result == String.Empty)
{
result = HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"];
}
if (null == result || result == String.Empty)
{
result = HttpContext.Current.Request.UserHostAddress;
}
return result;
}
如果我伪造了X-FORWARDED-FOR头参数,就能达到伪造IP的目的。
Cookies检测:
很多广告联盟检测用户是否作弊,cookies很重要,cookies是识别来自哪台电脑的唯一方式,同一IP多台电脑可以区分,每点击一次广告,我都记录一个COOKIES,在发送广告请求时,我会分析是否存在我记录的COOKIES,如果数据有异常,就记录进行处理或者忽略此次广告行为,数据异常如:间隔时间、同一广告多次点击。
数据加密:
前段时间对阿里妈妈的分析,他们在广告点击操作的时候做了一些数据处理,给每一个广告链接都加上了javascript单击处理,会动态的在广告连接URL上增加一个参数,再转向该地址,参数是进行了javascript数据加密,加密的key广告每加载一次,服务器返回的,显然服务器会对这个参数进行判断,解密后判断不对就进行忽略或记录日志,判断你作弊,此方式通过软件模拟发包是模拟不到这层数据,除非进行解密,但是有点麻烦,而且很被动,阿里妈妈每更换一次算法,就够你忙的.
网站跨域:
目前把代码放到自己域名内是相对安全的,通过某种方式去模拟点击会存在跨域问题,但是从目前看技术处理是可以过掉这一块的,具体方式就不方便透露。
点击行为检测:
javascript进行鼠标轨迹记录处理、google统计代码记录内转、页面点击时间间隔、页面停留时间,这些信息都有助于分析无效点击,来检测你是否作弊。