找回密码
 立即注册

QQ登录

只需一步,快速开始

PropellerAds
Google-Bing-Mediago-Criteo开户
⚡️按条S5代理⚡️静态⚡️独享⚡️5G广告专用虚拟卡/U充值/高返点皇家代理IP⚡️#1性价比⚡️
Mediabuy⚡️玩家开户首选【鲁班跨境通-自助充值转账】FB/GG/TT❤️官方免费开户Affiliate 全媒体流量资源⚡️
Taboola/Outbrain /Bing⚡️一级代理开户投流-7*24h❤️人工在线【官方】❤️搜索套利买量投流开户独立站⚡️开户投放
Google FB TK游戏代投⚡️E.PN 虚拟卡⚡️BINOM TRACKER 60% OFF!比Adplexity还好用的Spy工具
ADPLEXITY + ADVERTCN7200W全球动态不重复住宅IP代理虚拟信用卡+独立站收款全球虚拟卡, 支持U充值
Facebook 批量上广告尤里改 - FB 稳定投放免费黑五教程(持续更新、欢迎交流)FB 三不限源头 - 自助下户充值转款
各种主页、账单户、BM户(优势)IPCola原生住宅IP⚡️$1.8/条双ISPFB资源,账单户,分享户,国内一手TK加白户/二解户/FB海外户/GG老户
海外CL企业户源头最大欧洲Nutra网盟BA找量 FB高权重耐操个号⚡️稳定过审GG,FB,TK, 欧美源头, 欢迎合作❤️
FB企业户海外户,授信户,TK加白户联盟收款/海外资金下发/服贸结汇✔Taboola海外户源头9千万住宅IP-低至$0.3/gb✅静态$4/ip
广告位出租虚拟卡返佣1%,国内持牌机构  
查看: 14123|回复: 10

[分享] 简单前端JS校验脚本分享

[复制链接]

16

主题

376

广告币

533

积分

中级会员

积分
533
发表于 2021-9-11 14:09:26 | 显示全部楼层 |阅读模式
Binom_AdvertCN
本帖最后由 yang。 于 2021-9-14 10:27 编辑
: ]: R  b7 s8 G
8 S. ~# z. Y3 z: K8 b6 B* P开个头-------------持续亏钱ing。。。。
- P# W6 z' Y/ d! w- D5 Z
' t% T2 \8 p* I9 n% I+ p- d9 y8 E& F
这两日有小伙伴觉得我加的一些前端验证有点用,遂求分享代码,这里也整理了一下发出来。% R  E) h/ f1 I  X; n' q" e, u* ]
3 N; p1 U$ ?8 t8 z7 R# R+ n
基本效果么 可以查看这篇帖子9 x0 @( \% b8 R$ G8 y' V
https://www.advertcn.com/thread-99669-1-1.html4 f& ~5 G+ ^7 U; h% F6 i% ^
: i) b0 N$ y0 L# R8 ~. d4 V
5 M( G! g& l# q; X( I
但是要强调下:脚本永远只能作为参考和辅助,
# |3 \1 a) e# `% d8 ?5 [7 F3 o/ Y/ c% t6 @2 f" v9 g
  1. //your track host7 `. T7 _+ q8 t7 V1 `
  2. var trackHost = "";# V. M, ?0 J1 p$ L
  3. ! v# }) ~. a3 H
  4. /**
    $ R- u. P' E8 @$ \! d3 G
  5. * 1.校验浏览器是否支持js,可以作为垃圾爬虫得基础校验方式之一
    5 @+ E- m6 [* f1 U% A
  6. * 使用方式  直接调用jsSuportCheck()
    6 G. F- c0 B; ~. x1 j: a. m
  7. *      1.trackHost 指向你的追踪器,, S# o+ j. X/ N; _, e( G
  8. *      2.修改 event1 为你自己的event# B. g( A# o$ [; U0 D& O% G3 Y
  9. *      3.追踪器上  click-event1 = 不支持js浏览器数量(个人认为是刷子爬虫之类的)
    2 A7 l) K$ e: o" |
  10. *      4.追踪器上  event1 = 支持js浏览器数量
    : G1 g* e! S% X' V! l4 I9 H
  11. */1 t) w( K; B2 G$ m6 Z3 h: g1 f! i; Z3 R
  12. function jsSuportCheck() {0 U, W$ r3 U8 R
  13.     var o = document.createElement("img");
    : S+ L+ t5 |  n* m; w
  14.     o.style.display = "none";( Z* a) i5 O* T/ J* u2 i2 X8 C
  15.     o.src= trackHost + '?event1=1';
    / E3 o+ r6 K/ Z  A: @- d
  16.     document.body.appendChild(o)" K) ^, h, E9 o: K5 U9 h
  17. }
    + u7 O/ V: _7 M8 S1 p2 z& d

  18. . q# ], Z2 H( R6 K! D: N7 x

  19. : p: v7 @. `8 z
  20. /**
    8 \1 G+ V& Y$ ]% ^! S. ^
  21. * 2.页面存活时间; X4 A: e9 ~/ ?
  22. * 使用方式 直接调用 aliveCheck()2 x6 n, v' E6 H. ?( D) |$ O
  23. *      每隔1s向你的追踪器发送一条数据:更新你的event
    - k/ r3 x- \& }$ y& b- ]: G
  24. *      1.trackHost 指向你的追踪器,' c- `! o3 S( a0 R1 i" ^
  25. *      2.修改 event3 为你自己的event
    % b5 K$ a+ c# v7 e8 g9 Q
  26. *      4.追踪器上 event3 = 页面存活时间7 J) q: ?4 S6 \: B( }1 B" l' g% Y  ]
  27. *9 x1 [8 Q/ H* Y7 t: X+ i5 K7 L) D, C
  28. * 数据说明:4 ?* H$ R$ U! J# i# j
  29. *  1.时间为0% N$ p+ y$ p' s% H  D
  30. *         1.jsSuportCheck = 支持的 说明用户在1s呢关闭了页面,疑似高级爬虫(支持js的爬虫 如PhantomJS、NightmareJS 等无头)5 l- b5 A' Y2 \, y. u* V! g
  31. *         2.jsSuportCheck = 不支持的 参考jsSuportCheck3 l+ O; n* T( b. g1 H9 D
  32. *  2.时间不为0% ]4 V, j0 p8 l' b2 O
  33. *         1.时间很长的:页面打开了,没人管,,这个不好说,我觉得不正常
    - J2 t$ k! x& N
  34. *         2.时间长短不一的,人类操作概率较大,若普遍存活时间短的,可以考虑LP有问题0 S, p* [2 n+ V4 x4 q
  35. *         3.存活时间还行,LP ctr也还行,说明 LP还可以) h. _8 d, e/ p* t& X2 L
  36. *
    ! L# h/ G( K4 V  R6 l
  37. */( `, z4 ^' f8 ?8 r  d+ z2 t2 Q1 W
  38. / ^2 M1 A, P" o: ]# a  z
  39. var times = 0;
    7 r' n3 t. t5 ~4 }: N
  40. function aliveCheck() {
      `. n% R0 p7 S" ?  C! o
  41.     setInterval("checklive()","1000");2 D  j6 O5 k6 g8 l
  42. }
    # {; `. ]! P& c  |4 S' t
  43. function checklive() {
    5 `2 L+ V0 m( Z& Q9 A
  44.     times += 1;
    7 e5 U/ ]& K  _. t
  45.     var o = document.createElement("img");
    # T4 t9 f2 R( Y1 \  G
  46.     o.style.display = "none";
    - t! R/ u2 m; G& p, U% @
  47.     o.src = trackHost + "?event3=" + times;
    . U: P% l0 x, t) U$ @- W
  48. }
    0 d9 z$ ^+ m& ]
  49. 5 U: ?; C( S' R! Y
  50. 5 {, }% G" j. Z5 A
  51. /**
    : k  M: X6 @  \% B- h) a  }
  52. * 谷歌验证
    " l4 ?7 v5 B. i( s  j
  53. * 个人觉得有前边的已经差不多了,所以这个已经没在用了,有需要的自己取
    / U& t% b# C# W1 e
  54. * % N+ }" d: L; p) x1 M, T
  55. * 需要自己编码一个后端服务,用于同谷歌服务器通讯,返回score
    3 h$ P- h) X' ?+ B1 t( C
  56. */+ e5 D3 ?& ]0 D. P+ i
  57. //申请的grecaptcha前端token
    " T9 q- k) z# W1 y8 p
  58. var token = "";( s, Q+ m3 M6 \! e
  59. //你的grecaptcha后端服务器地址( E0 B+ |/ p+ _
  60. var grecaptchaPostServer = "";& G+ r! ~8 e5 f, Z
  61. function recaptcha() {
    6 u' _7 I6 Y/ ?9 C7 |2 [
  62.     grecaptcha.ready(function() {
    3 \( Z" F8 u# H; L9 P
  63.         grecaptcha.execute(token).then(function(token) {/ z, F" l6 s6 T% |; w3 `
  64.             var ip = decodeURI((RegExp('ip' + "=(.+?)(&|$)").exec(location.search) || [, null])[1] || "");
    : G7 z8 g9 `  _+ M. f7 ~
  65.             var o = document.createElement("img");& ^. b" [$ v7 H4 ~; {/ [$ ]6 i8 E
  66.             o.style.display = "none";
    + r( ~: e4 l. M
  67.             $.ajax({
    ' i- E: \. [* @" S$ Z$ g
  68.                 url: grecaptchaPostServer,
    1 q! U9 j) K4 X) q
  69.                 type: 'POST',
    2 q+ c* H1 [2 D* h6 y8 s! f
  70.                 data: {"token":token,"ip":ip},
    1 |! n2 a0 d  V  S
  71.                 success: function(data) {' `4 L$ x1 }/ J/ }
  72.                     if(data.score > 0.4){
    * u' P) |. b" m' }
  73.                         score = 1;
    3 a/ r! ?' z6 |
  74.                     }else{" w6 ~, C; F; z8 Z0 A4 R, S' R
  75.                         score = 0;
    , S6 s3 F/ B- p! g
  76.                     }
    - t) z; w' i- J0 Q% U# w8 W) J
  77.                     o.src = trackHost + '?event2='+score;+ ?, C. n2 ~8 D5 Y
  78.                     document.body.append(o)' w- b8 R( a# M. q
  79.                 }
    . |8 y! G3 O6 \, K$ X
  80.             });
    1 E* n; M4 C" m4 C0 `
  81. , ~! U0 ~" _; X  n6 P
  82.         });
    7 A1 @. i+ C8 a& o
  83.     });
      \& @$ x& x* _% A1 R9 }4 g
  84. }
复制代码
4 `! s7 J9 x; q
& a* j) ~  `5 u' l0 ?' p

0 e, Y9 M! f! c8 t: S& B3 \校验都十分基础和简单,各位新上路的小伙伴们看需要自取即可
, f& e1 C% k) T2 G0 u6 k$ U3 b4 W* k9 W" S. Z* B! _9 p  \

$ q8 d  `* ], O  m
1 x! w4 P1 j- V: u
& t0 k+ p9 i) _2 q; M* u! F
* e$ u6 V' j5 n8 c: r' `5 _& E2 z& D, @# J

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×

评分

参与人数 1广告币 +20 收起 理由
bobogood + 20 赞一个!

查看全部评分

相关帖子
回复

使用道具 举报

9

主题

1228

广告币

1645

积分

高级会员

积分
1645
发表于 2021-9-11 15:57:06 | 显示全部楼层
回复 支持 反对

使用道具 举报

1

主题

254

广告币

297

积分

初级会员

积分
297
发表于 2021-9-11 18:09:27 | 显示全部楼层
感谢分享
回复 支持 反对

使用道具 举报

16

主题

376

广告币

533

积分

中级会员

积分
533
 楼主| 发表于 2021-9-11 22:20:28 | 显示全部楼层
补充下:
0 V, _( ~: X& ^! g/ l今天同时跑几个campaign,发现追踪器负荷有点高,查看lp页面的时候发现页面时长统计的请求会502,应该是数据量大,加上这个请求太过频繁导致,遂将; w9 J* A; Z- r$ Q, S' r
  1. var times = 0;( B! j6 X+ k% W  x. q, S
  2. function aliveCheck() {
    ) i1 ^& @8 H6 Q2 j" g& ]) A9 X- z
  3.     setInterval("checklive()","1000");9 _2 ?9 \9 A& ?3 o
  4. }
复制代码

, w# Z! A5 v0 X7 m' ?: J修改为:
! v* M, H) C/ Q7 }
  1. var times = 0;
    ( H8 j/ ^5 X: X) q, }$ H- m
  2. function aliveCheck() {& k; V* j5 V3 s, [% P# r
  3. //请求频率从1s提高到5s一次,,5000是毫秒 = 5s
    % W" t% h" u; E0 r, A: M2 `- d
  4.     setInterval("checklive()","5000");
    0 I- ^2 ?+ j( q
  5. }
复制代码

: B$ e+ [$ {: @: r( Z+ t追踪器压力明显降低。。。。
( t/ C1 C. s( z0 t" N% ~$ ]5 A. y. q+ U" Y3 ?$ s# f* b
这个看各位的需要,如果是高富帅顶配服务器当我没说,,,但这个统计存留时长的,1s一次的确有点过分细化了,,,,各位可以按照自己的经验调整统计频率

点评

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

使用道具 举报

0

主题

492

广告币

665

积分

中级会员

积分
665
发表于 2021-9-13 19:41:04 | 显示全部楼层
yang。 发表于 2021-9-11 22:20
0 e% P- V- x3 A% u$ Y' _补充下:: \$ F# ^( J& F5 U0 O. J0 n
今天同时跑几个campaign,发现追踪器负荷有点高,查看lp页面的时候发现页面时长统计的请求会502, ...

" w+ l4 Y9 [; |7 E" U虽然看不懂但是感觉很厉害云追踪器可以用吗,前端技术为0,问下这个是js 放在lp上的吗?

点评

追踪器一般都支持自定义事件 binom里叫事件 event,这个你可以查看一下你用的追踪器的文档。 这个就是js代码,直接放在LP里 但是记得要调用!!!!!  详情 回复 发表于 2021-9-14 10:16
回复 支持 反对

使用道具 举报

16

主题

376

广告币

533

积分

中级会员

积分
533
 楼主| 发表于 2021-9-14 10:16:18 | 显示全部楼层
tonychopper 发表于 2021-9-13 19:41. e, S* n, d* ~
虽然看不懂但是感觉很厉害云追踪器可以用吗,前端技术为0,问下这个是js 放在lp上的吗? ...

4 p; }5 z" y: u! ]7 {. L5 ?3 R" Q2 l* X追踪器一般都支持自定义事件  binom里叫事件 event,这个你可以查看一下你用的追踪器的文档。
, R+ K! W; h+ g- B8 Z& M这个就是js代码,直接放在LP里 但是记得要调用!!!!!

点评

老哥能说明白点吗?在LP哪个位置调用  详情 回复 发表于 2022-1-8 20:22
回复 支持 反对

使用道具 举报

60

主题

1150

广告币

1733

积分

高级会员

积分
1733

社区QQ达人

发表于 2022-1-8 20:22:24 | 显示全部楼层
yang。 发表于 2021-9-14 10:16- b# C5 A  v/ K, o* n* C( j
追踪器一般都支持自定义事件  binom里叫事件 event,这个你可以查看一下你用的追踪器的文档。
* }/ k$ d# A# {; Y8 v这个就是js ...

+ a: u3 T8 k- N+ w4 J7 {老哥能说明白点吗?在LP哪个位置调用、怎么调用

点评

放在头部head标签中,用script标签包裹,或者放在最下边,body内,script包裹,调用注释里有  详情 回复 发表于 2022-1-11 15:56
回复 支持 反对

使用道具 举报

82

主题

648

广告币

1202

积分

高级会员

积分
1202

社区QQ达人

发表于 2022-1-8 23:02:54 来自手机 | 显示全部楼层
厉害了!
回复 支持 反对

使用道具 举报

16

主题

376

广告币

533

积分

中级会员

积分
533
 楼主| 发表于 2022-1-11 15:56:06 | 显示全部楼层
pitch 发表于 2022-1-8 20:223 [8 Q" B; o- c/ b
老哥能说明白点吗?在LP哪个位置调用、怎么调用

7 k5 h" B# l, L8 z* a# D/ h9 n放在头部head标签中,用script标签包裹,或者放在最下边,body内,script包裹,调用注释里有

点评

谢谢回复,已经用上了  详情 回复 发表于 2022-1-12 15:29
回复 支持 反对

使用道具 举报

60

主题

1150

广告币

1733

积分

高级会员

积分
1733

社区QQ达人

发表于 2022-1-12 15:29:05 | 显示全部楼层
yang。 发表于 2022-1-11 15:56- i) c( w1 y! q" A
放在头部head标签中,用script标签包裹,或者放在最下边,body内,script包裹,调用注释里有 ...

6 u( I5 L2 _; O0 D! G, a谢谢回复,已经用上了
回复 支持 反对

使用道具 举报

1

主题

13

广告币

36

积分

初级会员

积分
36
发表于 2023-3-21 23:23:54 | 显示全部楼层
I just like analyzing with code, what a good and clear job.
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关于我们|联系我们|DMCA|广告服务|小黑屋|手机版|Archiver|Github|网站地图|AdvertCN

GMT+8, 2026-9-20 10:31 , Processed in 0.113988 second(s), 25 queries , Gzip On.

Copyright © 2001-2026, AdvertCN

Proudly Operating in Hong Kong.

快速回复 返回顶部 返回列表