yang。 发表于 2021-9-11 14:09:26

简单前端JS校验脚本分享

本帖最后由 yang。 于 2021-9-14 10:27 编辑

开个头-------------持续亏钱ing。。。。:Q


这两日有小伙伴觉得我加的一些前端验证有点用,遂求分享代码,这里也整理了一下发出来。

基本效果么 可以查看这篇帖子
https://www.advertcn.com/thread-99669-1-1.html


但是要强调下:脚本永远只能作为参考和辅助,

//your track host
var trackHost = "";

/**
* 1.校验浏览器是否支持js,可以作为垃圾爬虫得基础校验方式之一
* 使用方式直接调用jsSuportCheck()
*      1.trackHost 指向你的追踪器,
*      2.修改 event1 为你自己的event
*      3.追踪器上click-event1 = 不支持js浏览器数量(个人认为是刷子爬虫之类的)
*      4.追踪器上event1 = 支持js浏览器数量
*/
function jsSuportCheck() {
    var o = document.createElement("img");
    o.style.display = "none";
    o.src= trackHost + '?event1=1';
    document.body.appendChild(o)
}


/**
* 2.页面存活时间
* 使用方式 直接调用 aliveCheck()
*      每隔1s向你的追踪器发送一条数据:更新你的event
*      1.trackHost 指向你的追踪器,
*      2.修改 event3 为你自己的event
*      4.追踪器上 event3 = 页面存活时间
*
* 数据说明:
*1.时间为0
*         1.jsSuportCheck = 支持的 说明用户在1s呢关闭了页面,疑似高级爬虫(支持js的爬虫 如PhantomJS、NightmareJS 等无头)
*         2.jsSuportCheck = 不支持的 参考jsSuportCheck
*2.时间不为0
*         1.时间很长的:页面打开了,没人管,,这个不好说,我觉得不正常
*         2.时间长短不一的,人类操作概率较大,若普遍存活时间短的,可以考虑LP有问题
*         3.存活时间还行,LP ctr也还行,说明 LP还可以
*
*/

var times = 0;
function aliveCheck() {
    setInterval("checklive()","1000");
}
function checklive() {
    times += 1;
    var o = document.createElement("img");
    o.style.display = "none";
    o.src = trackHost + "?event3=" + times;
}


/**
* 谷歌验证
* 个人觉得有前边的已经差不多了,所以这个已经没在用了,有需要的自己取
*
* 需要自己编码一个后端服务,用于同谷歌服务器通讯,返回score
*/
//申请的grecaptcha前端token
var token = "";
//你的grecaptcha后端服务器地址
var grecaptchaPostServer = "";
function recaptcha() {
    grecaptcha.ready(function() {
      grecaptcha.execute(token).then(function(token) {
            var ip = decodeURI((RegExp('ip' + "=(.+?)(&|$)").exec(location.search) || [, null]) || "");
            var o = document.createElement("img");
            o.style.display = "none";
            $.ajax({
                url: grecaptchaPostServer,
                type: 'POST',
                data: {"token":token,"ip":ip},
                success: function(data) {
                  if(data.score > 0.4){
                        score = 1;
                  }else{
                        score = 0;
                  }
                  o.src = trackHost + '?event2='+score;
                  document.body.append(o)
                }
            });

      });
    });
}


校验都十分基础和简单,各位新上路的小伙伴们看需要自取即可






forestchu 发表于 2021-9-11 15:57:06

非常 的给力.感谢哈

All 发表于 2021-9-11 18:09:27

感谢分享 :lol

yang。 发表于 2021-9-11 22:20:28

补充下:
今天同时跑几个campaign,发现追踪器负荷有点高,查看lp页面的时候发现页面时长统计的请求会502,应该是数据量大,加上这个请求太过频繁导致,遂将
var times = 0;
function aliveCheck() {
    setInterval("checklive()","1000");
}
修改为:
var times = 0;
function aliveCheck() {
//请求频率从1s提高到5s一次,,5000是毫秒 = 5s
    setInterval("checklive()","5000");
}
追踪器压力明显降低。。。。

这个看各位的需要,如果是高富帅顶配服务器当我没说,,,但这个统计存留时长的,1s一次的确有点过分细化了,,,,各位可以按照自己的经验调整统计频率

tonychopper 发表于 2021-9-13 19:41:04

yang。 发表于 2021-9-11 22:20
补充下:
今天同时跑几个campaign,发现追踪器负荷有点高,查看lp页面的时候发现页面时长统计的请求会502, ...

虽然看不懂但是感觉很厉害:lol云追踪器可以用吗,前端技术为0,问下这个是js 放在lp上的吗?

yang。 发表于 2021-9-14 10:16:18

tonychopper 发表于 2021-9-13 19:41
虽然看不懂但是感觉很厉害云追踪器可以用吗,前端技术为0,问下这个是js 放在lp上的吗? ...

追踪器一般都支持自定义事件binom里叫事件 event,这个你可以查看一下你用的追踪器的文档。
这个就是js代码,直接放在LP里 但是记得要调用!!!!!

pitch 发表于 2022-1-8 20:22:24

yang。 发表于 2021-9-14 10:16
追踪器一般都支持自定义事件binom里叫事件 event,这个你可以查看一下你用的追踪器的文档。
这个就是js ...
老哥能说明白点吗?在LP哪个位置调用、怎么调用:lol

gresh 发表于 2022-1-8 23:02:54

厉害了!

yang。 发表于 2022-1-11 15:56:06

pitch 发表于 2022-1-8 20:22
老哥能说明白点吗?在LP哪个位置调用、怎么调用

放在头部head标签中,用script标签包裹,或者放在最下边,body内,script包裹,调用注释里有

pitch 发表于 2022-1-12 15:29:05

yang。 发表于 2022-1-11 15:56
放在头部head标签中,用script标签包裹,或者放在最下边,body内,script包裹,调用注释里有 ...

谢谢回复,已经用上了:handshake

wr406531195 发表于 2023-3-21 23:23:54

I just like analyzing with code, what a good and clear job.
页: [1]
查看完整版本: 简单前端JS校验脚本分享